.site-header{background:#172c49;border-color:#28456a}.site-header nav a{color:#f5f8ff}.site-header nav a:hover{background:#28456a}.brand{background:#fffefa;border-radius:8px;padding:9px 12px}.bracket-main{max-width:1500px}.live-status{display:flex;gap:15px;align-items:center;flex-wrap:wrap;font-size:14px;color:var(--muted);margin-bottom:15px}.live-status p{flex:1}.live-status .badge{white-space:nowrap}.live-status .offline{color:#9b4a36}.tournament-picker{padding:18px 22px;margin-bottom:24px}.tournament-picker .field{margin:0}.tournament-picker label,.create-panel label{display:block;font-weight:700;font-size:14px;margin-bottom:7px}.tournament-picker select,.create-panel select,.field select,.match-controls select{width:100%;padding:10px 12px;border:1px solid #b7c7dd;border-radius:8px;background:var(--surface);color:var(--ink);min-height:46px;font:inherit}.create-panel{padding:20px 24px;margin-bottom:24px}.create-panel summary,.roster-panel>summary{font-weight:700;cursor:pointer;min-height:36px;color:var(--violet)}.create-panel form{margin-top:16px}.create-panel select{flex:1;min-width:220px;width:auto}.create-panel p{font-size:14px;color:var(--muted);margin:12px 0 0}.publish-bar{padding:16px 22px;margin-top:-20px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:15px}.publish-bar .check-field{margin:0;font-size:14px;max-width:430px}.publish-bar .text-link{font-size:14px}.roster-panel{padding:20px 24px;margin-bottom:24px}.roster-list{display:grid;gap:8px}.roster-row{display:flex;align-items:center;gap:15px;padding:12px 14px;border:1px solid var(--line);background:#f3f6fc;border-radius:9px}.roster-person{flex:1;min-width:0;overflow-wrap:anywhere}.roster-person strong{display:block;color:#294e82}.roster-person small{display:block;color:var(--muted);font-size:13px}.roster-row .badge{font-size:12px}.roster-row .actions{gap:6px}.scoring-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:28px}.score-card{padding:20px;border:1px solid #c7d9ec;border-top:4px solid #7295c4;border-radius:14px;background:var(--surface);min-width:0}.score-card.challenger{border-top-color:#a08bc6;background:#f8f5fc}.score-card.finals{border-top-color:#d5ac45;background:#fffbec}.score-card h3{font-size:19px;color:#344e70}.score-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;color:var(--muted);margin-bottom:15px}.score-card .target{font-weight:700}.score-sides{display:grid;grid-template-columns:1fr 1fr;gap:15px}.score-side{min-width:0;text-align:center}.score-side label{display:block;font-weight:700;overflow-wrap:anywhere;color:#294e82;min-height:48px;font-size:19px;line-height:1.25}.score-side input{width:100%;max-width:120px;margin:8px auto 10px;display:block;text-align:center;border:1px solid #b7c7dd;border-radius:9px;background:#fff;font-weight:700;font-size:35px;min-height:62px;color:#24354b}.score-stepper{display:flex;gap:5px;justify-content:center}.score-stepper button{min-width:42px;min-height:44px;padding:8px;border:1px solid #a9bfd9;border-radius:7px;background:#edf3ff;color:#294e82;font-weight:700}.score-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.score-actions .button{flex:1;min-width:120px}.match-controls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.match-controls label{font-size:12px;font-weight:700}.match-controls select{font-size:14px;margin-top:5px;min-height:42px}.match-controls .actions{grid-column:1/-1}.score-footnote{font-size:13px;color:var(--muted);margin-top:12px}.score-conflict{color:#934532;font-size:14px;margin-top:12px}.viewer-actions{gap:7px}.viewer-actions .button{font-size:14px;min-height:42px;padding:9px 12px}.board-viewport{max-height:78vh;min-height:360px;width:100%;overflow:auto;padding:18px;background:linear-gradient(135deg,#e9f1fc,#f3edfa);border:1px solid #c3d4e9;border-radius:15px;overscroll-behaviour:contain}.bracket-board{position:relative;transform-origin:top left}.board-stage{position:absolute;top:0;left:0;transform-origin:top left}.bracket-lane-label{position:absolute;font:800 27px/1.1 'Barlow Condensed',Arial,sans-serif;color:#344e70}.bracket-round-label{position:absolute;font-weight:700;font-size:13px;color:#53637a}.bracket-match{position:absolute;width:240px;padding:9px 11px;border:1px solid #afc5e0;border-left:4px solid #6c95c7;background:#fffefa;border-radius:9px;box-shadow:0 3px 0 #d5e0ef}.bracket-match.challenger{border-left-color:#9c81bd}.bracket-match.finals{border-left-color:#d4a84c;background:#fffbee}.bracket-match.unneeded,.bracket-match.empty{opacity:.5}.bracket-match .match-heading{display:flex;justify-content:space-between;gap:6px;font-size:10px;color:#5d6e87;margin-bottom:6px}.bracket-player{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:5px 6px;border-radius:4px;font-size:14px;line-height:1.25;min-height:28px;color:#344e70}.bracket-player+.bracket-player{border-top:1px solid #e3e9f2}.bracket-player .player-name{overflow-wrap:anywhere;min-width:0}.bracket-player .points{font-size:17px;font-weight:700}.bracket-player.winner{background:#e6f1e6;font-weight:700;color:#2d6645}.bracket-player.pending{color:#8190a4;font-style:italic}.bracket-outcome{font-size:10px;color:var(--muted);padding:4px 6px 0}.bracket-connectors{position:absolute;left:0;top:0;overflow:visible;pointer-events:none}.bracket-connectors path{fill:none;stroke:#98aec9;stroke-width:1.5}.public-match-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.public-match-cards .bracket-match{position:relative;width:auto;min-height:112px}.bracket-explainer{font-size:14px;color:var(--muted);margin:17px 0 32px}.announcement{margin-bottom:20px;padding:23px;border:2px solid #d3ad48;border-radius:14px;background:#fff3bb;text-align:center;color:#24354b;font-size:24px;line-height:1.3;font-weight:700}.announcement small{display:block;font-size:15px;margin-bottom:8px;color:#705b27}.bracket-fullscreen{background:#edf2fb;padding:22px;overflow:auto}.bracket-fullscreen .bracket-explainer{margin-bottom:8px}.bracket-fullscreen .board-viewport{max-height:none;height:calc(100vh - 165px);border:0}.bracket-fullscreen h2{font-size:40px}.seed-list{display:grid;gap:8px}.seed-row{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:8px;background:#fffefa;padding:9px 11px}.seed-row.dragging{opacity:.5}.seed-row .seed-position{font-size:12px;color:var(--muted);width:35px}.seed-row .seed-name{flex:1;font-weight:700;overflow-wrap:anywhere}.seed-row button{min-width:40px;min-height:40px;border:1px solid #b7c7dd;border-radius:7px;background:#edf3ff;color:#294e82}.seed-row[draggable="true"]{cursor:grab}.empty-bracket{margin-top:20px}.page-heading h1{color:#344e70}
.bracket-connectors path.challenger-link{stroke:#aa91c3;stroke-dasharray:5 4}
.podium{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px}.podium>div{flex:1;min-width:200px;padding:18px 22px;border:1px solid #d8b44f;border-radius:12px;background:#fff3be}.podium>div+div{border-color:#c1cfe2;background:#edf2fb}.podium span{display:block;font-size:13px;font-weight:700;color:#7e6020;margin-bottom:5px}.podium strong{font:800 32px/1.15 'Barlow Condensed',Arial,sans-serif;color:#344e70;overflow-wrap:anywhere}
@media(max-width:1000px){.publish-bar{align-items:flex-start;flex-direction:column}.public-match-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.bracket-main{width:calc(100% - 32px)}}
@media(max-width:700px){.scoring-grid,.public-match-cards{grid-template-columns:1fr}.score-card{padding:16px}.score-side label{font-size:18px}.score-stepper button{min-width:40px}.roster-row{flex-wrap:wrap;gap:9px}.roster-row>.actions{width:100%;justify-content:flex-end}.roster-person{flex-basis:60%}.publish-bar,.create-panel,.roster-panel{padding:17px}.create-panel .actions{display:block}.create-panel select{width:100%;margin-bottom:10px}.create-panel .button{width:100%}.board-viewport{padding:10px;min-height:350px}.viewer-actions{width:100%}.viewer-actions .button{flex:1}.announcement{font-size:22px}.live-status{gap:8px}.live-status p{flex-basis:60%}.live-status>span:last-child{font-size:12px}.match-controls{grid-template-columns:1fr}.match-controls .actions{grid-column:auto}.bracket-fullscreen{padding:10px}.bracket-fullscreen h2{font-size:30px}.bracket-fullscreen .board-viewport{height:calc(100vh - 210px)}}
/* Organiser workspace: the everyday controls stay in plain sight. */
.organiser-heading{display:flex;justify-content:space-between;gap:18px;align-items:center;margin:22px 0 16px}.organiser-heading h2{font-size:25px;color:#344e70}.organiser-heading p{font-size:14px;color:var(--muted);margin-top:5px}.workspace-tabs{display:flex;gap:8px;margin:8px 0 22px;border-bottom:1px solid var(--line);padding-bottom:12px}.workspace-tabs button{min-height:48px;padding:12px 24px;border:1px solid #b7c7dd;border-radius:9px;background:#fffefa;color:#294e82;font-size:17px;font-weight:700;cursor:pointer}.workspace-tabs button[aria-pressed="true"]{background:#294e82;color:white;border-color:#294e82}.draw-tools{padding:17px 20px;margin:0 0 18px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;align-items:center}.draw-tools strong{font-size:16px;color:#294e82}.draw-tools p{font-size:14px;color:var(--muted);margin-top:6px}.draw-save-bar{width:100%;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff1bc;border:1px solid #d9b550;border-radius:9px;padding:12px 14px}.draw-save-bar span{flex:1;min-width:200px;color:#705b27;font-size:14px}.edit-name{border:0;background:none;padding:0;text-align:left;font:inherit;color:#294e82;text-decoration:underline;text-decoration-color:#a7b9d2;text-underline-offset:3px;cursor:pointer}.edit-name:hover{color:#654387;text-decoration-color:currentColor}.edit-name:focus-visible,.draw-handle:focus-visible{outline:3px solid #d5b14d;outline-offset:2px}.roster-name{font-size:18px;font-weight:700}.draw-handle{font-size:10px!important;line-height:1;padding:5px 6px;min-height:27px;min-width:33px;border:1px solid #b5c6dd;border-radius:4px;background:#edf3ff;color:#294e82;cursor:grab;touch-action:none;flex-shrink:0}.draw-handle:active{cursor:grabbing}.draw-position{cursor:grab}.draw-position.dragging{outline:2px dashed #8d78ad;background:#eee7f7;opacity:.7}.draw-position-locked .draw-handle{font-size:9px!important;background:#edf0f4;color:#67758a;border-color:#d4dae2;cursor:default}.draw-position-locked{background:#f0f3f7}.bracket-player .edit-name{flex:1;min-width:0}.seed-row .draw-handle{min-width:54px;font-size:12px!important}.seed-lock{font-size:12px;color:#67758a;padding:7px}.recent-results,.tournament-settings{padding:18px 22px;margin:18px 0 24px}.recent-results>summary,.tournament-settings>summary{font-size:15px;font-weight:700;color:#52647d;cursor:pointer;min-height:30px}.recent-results .scoring-grid{margin-top:18px}.tournament-settings .publish-bar{margin:14px 0;padding:0;border:0}.tournament-settings>.actions{padding-top:10px}.workflow-bar{margin-bottom:12px}.workflow-bar strong{font-size:17px}.workflow-bar p{font-size:14px;margin-top:4px}.roster-panel{margin-bottom:20px}.score-card .score-meta{margin-bottom:9px}.score-card h3{font-size:15px;font-weight:400;color:var(--muted);margin-bottom:5px}
@media(max-width:700px){.workspace-tabs{gap:6px}.workspace-tabs button{padding:11px 14px;flex:1;font-size:16px}.organiser-heading{align-items:flex-start}.organiser-heading .button{font-size:13px;padding:10px}.draw-tools{padding:15px}.draw-tools>.actions{width:100%}.draw-save-bar .button{flex:1}.roster-row>.actions{justify-content:flex-start}.roster-name{font-size:19px}.tournament-settings .actions{flex-wrap:wrap}.recent-results,.tournament-settings{padding:16px}.draw-position .draw-handle{min-height:30px}}
.result-players{font-size:22px;font-weight:700;color:#294e82;line-height:1.35;overflow-wrap:anywhere;margin:10px 0}.result-replay{margin:15px 0;padding:14px 16px;border:1px solid #d9b550;background:#fff2c6;border-radius:9px;font-size:14px;color:#705b27}.result-replay p{margin:0 0 10px}.result-replay .check-field{margin:0}.fields-row.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}#result-dialog input[type="number"]{font-size:26px;text-align:center;min-height:54px}#result-dialog .notice,#player-dialog .notice{font-size:14px;padding:10px 12px;margin:12px 0}#result-dialog .field select{width:100%}
.board-stage .bracket-player .player-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.board-stage .bracket-player{flex-wrap:nowrap}.result-row{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.result-row:last-child{border-bottom:0}.result-row>div:first-child{min-width:0;flex:1}.result-row small,.result-row strong,.result-row span{display:block;overflow-wrap:anywhere}.result-row small,.result-row span{font-size:13px;color:var(--muted)}.result-row strong{font-size:16px;color:#294e82;margin:3px 0}.recent-results .scoring-grid{display:block}@media(max-width:700px){.result-row{align-items:flex-start;flex-direction:column;gap:9px}}
