:root{color:#25313b;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f5f0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.78}.app-shell{min-height:100vh}.topbar h2,.topbar p,.section-title h3,.section-title h4,.round-block h4{margin:0}.section-title span,.round-block header span,.player-row span,.match-players span{color:#687a80;font-size:13px}.create-panel,.login-panel,.form-grid{gap:12px;display:grid}label{gap:6px;font-size:13px;font-weight:650;display:grid}.field-hint{color:#687a80;font-size:12px;font-weight:600;line-height:1.35}input,select{color:#172126;background:#fffefa;border:1px solid #cad4d1;border-radius:6px;width:100%;min-width:0;padding:10px 11px}input[type=date]{appearance:none;max-width:100%;display:block}.primary-button,.secondary-button,.danger-button,.icon-button{white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:9px 12px;font-weight:750;display:inline-flex}.primary-button{color:#fff;background:#f47e59}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.secondary-button{color:#7d321f;background:#fff4ee;border:1px solid #f2c7b5}.danger-button{color:#fff;background:#b54747}.icon-button{color:#1d2a2e;background:#fffefa;border:1px solid #cdd8d4;width:40px;padding:0;position:relative}.icon-button[data-tooltip]:after{z-index:20;color:#fff;content:attr(data-tooltip);opacity:0;pointer-events:none;white-space:nowrap;background:#25313b;border-radius:6px;max-width:min(220px,70vw);padding:6px 8px;font-size:12px;font-weight:750;line-height:1.2;transition:opacity .12s,transform .12s;display:none;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)translateY(4px)}.icon-button[data-tooltip]:before{z-index:20;content:"";opacity:0;pointer-events:none;background:#25313b;width:8px;height:8px;transition:opacity .12s;display:none;position:absolute;bottom:calc(100% + 3px);left:50%;transform:translate(-50%)rotate(45deg)}.icon-button[data-tooltip]:hover:after,.icon-button[data-tooltip]:focus-visible:after,.icon-button[data-tooltip]:hover:before,.icon-button[data-tooltip]:focus-visible:before{opacity:1;display:block;transform:translate(-50%)translateY(0)}.icon-button[data-tooltip]:hover:before,.icon-button[data-tooltip]:focus-visible:before{transform:translate(-50%)rotate(45deg)}.icon-button.filled,.secondary-button.filled{color:#fffefa;background:#168a9f;border-color:#168a9f}.danger-icon{color:#9b3129;border-color:#ecc0b9}.instruction-nav{color:#25313b;background:#fff;border:1px solid #eadfd7;border-radius:8px;align-items:center;gap:8px;width:100%;padding:11px 12px;font-weight:800;display:inline-flex}.instruction-nav.active{color:#126b7d;background:#eef8fa;border-color:#168a9f}.workspace{flex-direction:column;min-width:0;min-height:100vh;padding:24px;display:flex}.app-footer{color:#7b6f68;border-top:1px solid #eadfd7;flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:auto;padding-top:14px;font-size:12px;display:flex}.version-link{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:0;display:inline-flex}.version-link:hover,.version-link:focus-visible{color:#7d321f;text-underline-offset:3px;text-decoration:underline}.topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.topbar h2{font-size:28px}.dashboard-topbar{align-items:flex-start;margin-bottom:14px}.app-masthead{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:18px;padding:0;display:flex}.app-masthead:focus-visible{outline-offset:6px;outline:3px solid #168a9f59}.app-masthead-logo{object-fit:contain;width:92px;height:auto}.app-masthead h2{margin:0;font-size:34px;line-height:1.05}.app-masthead p{color:#7b6f68;margin:4px 0 0;font-size:20px}.view-heading{margin:-6px 0 18px}.view-heading h2,.view-heading p{margin:0}.view-heading h2{font-size:30px;line-height:1.1}.view-heading p{margin-bottom:4px}.eyebrow{color:#168a9f;letter-spacing:0;text-transform:uppercase;font-size:12px;font-weight:800}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboard-topbar .topbar-actions{grid-template-columns:repeat(5,40px);justify-content:end;align-self:flex-start;justify-items:stretch;display:grid}.dashboard-topbar .compact-schoolyear{order:2;grid-column:1/-1;max-width:none}.dashboard-topbar .topbar-actions>.icon-button,.dashboard-topbar .topbar-actions>.topbar-management-menu{order:1}.topbar-select{color:#52666b;white-space:nowrap;grid-template-columns:none;align-items:center;gap:8px;font-size:12px;font-weight:850;display:flex}.topbar-select select{width:auto;min-width:130px;padding:8px 10px}.compact-schoolyear{max-width:230px}.dashboard-topbar .compact-schoolyear select{width:100%}.compact-schoolyear select{min-width:132px}.topbar-management-menu{position:relative}.topbar-management-menu summary{color:#1d2a2e;cursor:pointer;background:#fffefa;border:1px solid #cdd8d4;border-radius:6px;justify-content:center;align-items:center;width:40px;min-height:38px;list-style:none;display:inline-flex;position:relative}.topbar-management-menu summary::-webkit-details-marker{display:none}.topbar-management-menu[open] summary{color:#126b7d;background:#eef8fa;border-color:#168a9f}.topbar-management-content{z-index:30;background:#fffefa;border:1px solid #eadfd7;border-radius:8px;gap:10px;width:min(320px,100vw - 32px);padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 42px #4f362429}.topbar-management-menu:not([open]) .topbar-management-content{display:none}.school-year-create{grid-template-columns:minmax(160px,220px) minmax(160px,1fr);align-items:end;gap:8px;display:grid}.school-year-create input{padding:8px 10px}.school-year-create input,.school-year-create .secondary-button{height:42px;min-height:42px}.school-year-create .secondary-button{padding-block:0}.tournaments-page{grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr);align-items:start;gap:16px;display:grid}.tournament-create-panel,.tournament-import-panel,.tournament-list-panel{min-width:0}.tournament-import-panel{grid-column:1;gap:12px;display:grid}.tournament-list-panel{grid-area:1/2/span 2}.backup-preview,.backup-missing-children{gap:10px;display:grid}.backup-preview p,.backup-missing-children p{color:#5f7378;margin:0}.backup-missing-children{background:#f7fbfb;border:1px solid #d6e4e6;border-radius:8px;padding:10px}.backup-missing-children ul{gap:6px;margin:0;padding-left:18px;display:grid}.score-settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dashboard-page{gap:16px;display:grid}.lesson-board{gap:12px;display:grid}.lesson-title{align-items:flex-end}.dashboard-primary-tabs{display:none}.lesson-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);align-items:start;gap:16px;display:grid}.lesson-grid.align-dashboard-panels{align-items:stretch}.dashboard-tournament-panel,.dashboard-leaderboard-panel{align-self:start;min-width:0}.lesson-grid.align-dashboard-panels>.dashboard-tournament-panel,.lesson-grid.align-dashboard-panels>.dashboard-leaderboard-panel{align-self:stretch}.dashboard-tournament-panel.standings-mode{grid-template-rows:auto auto minmax(0,1fr)}.dashboard-tournament-panel.rounds-mode{align-content:start}.dashboard-leaderboard-panel{grid-template-rows:auto auto minmax(0,1fr) auto}.dashboard-secondary-tabs{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:8px;display:grid}.manual-pairing-fields{grid-template-columns:minmax(130px,1fr) minmax(130px,1fr) auto;align-items:end;gap:8px;width:100%;display:grid}.manual-pairing-fields .field-hint{grid-column:1/-1}.player-lookup{min-width:0}.player-lookup input:disabled{color:#6a7a7d;background:#f2f4f0}.extra-board-actions{color:#5a6f74;border-top:1px solid #e1e7e3;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding-top:12px;font-weight:700;display:flex}.round-helper-form{background:#fff8f3;border:1px solid #f1ded2;border-radius:8px;grid-template-columns:minmax(220px,.9fr) minmax(160px,1fr) minmax(160px,1fr) minmax(130px,.6fr) auto auto;align-items:end;gap:10px;margin-top:12px;padding:12px;display:grid}.round-bye-form{grid-template-columns:minmax(220px,320px) auto;align-items:end;gap:10px;margin-top:10px;display:grid}.round-helper-form>div{gap:3px;display:grid}.round-helper-form>div span{color:#52666b;font-size:13px}.add-board-panel{background:#fff8f3;border:1px solid #f1ded2;border-radius:8px;gap:12px;margin-top:12px;padding:12px;display:grid}.wizard-modes{flex-wrap:wrap;gap:8px;display:flex}.wizard-modes button{color:#52666b;background:#fffdfa;border:1px solid #decfc7;border-radius:8px;min-height:42px;padding:0 14px;font-weight:800}.wizard-modes button.active{color:#84301f;background:#fff2ec;border-color:#ff7558}.wizard-grid{grid-template-columns:repeat(4,minmax(160px,1fr));align-items:end;gap:10px;display:grid}.form-error{color:#8d3427;background:#b8424214;border:1px solid #b8424259;border-radius:8px;margin:0;padding:.75rem .9rem;font-weight:700}.settings-page{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:start;gap:16px;display:grid}.exam-definition-list{gap:8px;display:grid}.exam-definition-row{grid-template-columns:minmax(140px,1fr) 90px auto 40px;align-items:center;gap:8px;display:grid}.exam-definition-row.inactive{opacity:.7}.dashboard-secondary-tabs button,.dashboard-primary-tabs button{color:#25313b;background:#fff;border:1px solid #eadfd7;border-radius:8px;align-self:start;min-height:44px;padding:10px 12px;font-weight:850}.dashboard-secondary-tabs button.active,.dashboard-primary-tabs button.active{color:#7d321f;background:#fff4ee;border-color:#f47e59}.dashboard-stand-view,.dashboard-rounds-view{gap:12px;min-width:0;display:grid}.dashboard-tournament-panel.standings-mode .dashboard-stand-view{flex-direction:column;height:100%;display:flex}.dashboard-tournament-panel.standings-mode .dashboard-stand-view .pagination-controls{margin-top:auto}.dashboard-standings-table{min-width:0;overflow-x:auto}.dashboard-rounds-view .round-generate{max-width:420px}.round-optimizer{color:#52666b;flex-wrap:wrap;align-items:center;gap:12px;font-weight:700;display:flex}.dashboard-round-switcher{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));align-items:start;gap:8px;display:grid}.round-chip{color:#25313b;text-align:left;background:#fff;border:1px solid #eadfd7;border-radius:8px;align-self:start;gap:3px;min-height:54px;padding:9px 10px;display:grid}.round-chip strong{font-size:14px}.round-chip span{color:#687a80;font-size:12px}.round-chip.active{color:#7d321f;background:#fff4ee;border-color:#f47e59}.round-chip.muted{color:#798588;cursor:not-allowed;background:#f3f3f0;border-color:#d7dedb}.round-chip.muted span{color:#8b9698}.new-round-chip{border-style:dashed}.dashboard-round-pager{gap:12px;display:grid}.dashboard-round-pagination{margin-top:0}.crosstable-wrap{background:#fffefa;border:1px solid #e1e7e3;border-radius:8px;max-width:100%;overflow:auto}.crosstable{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:13px}.crosstable th,.crosstable td{text-align:center;white-space:nowrap;border-bottom:1px solid #edf0ed;border-left:1px solid #edf0ed;min-width:44px;padding:8px 9px}.crosstable thead th{z-index:2;color:#52666b;text-transform:uppercase;background:#f7fbfb;font-size:11px;font-weight:850;position:sticky;top:0}.crosstable th:first-child{z-index:3;text-align:left;background:#fffefa;border-left:0;min-width:150px;position:sticky;left:0}.crosstable thead th:first-child{z-index:4;background:#f7fbfb}.crosstable tbody th{align-items:center;gap:8px;display:flex}.crosstable tbody th span{color:#126b7d;background:#eef8fa;border-radius:999px;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:850;display:inline-flex}.crosstable tbody th strong{text-overflow:ellipsis;overflow:hidden}.self-cell{color:#9a8f86;background:#f5f2eb}.points-cell{color:#7d321f;background:#fff4ee;font-weight:850}.compact-search{padding:9px 10px}.dashboard-leaderboard-list{align-content:start;gap:8px;display:grid}.dashboard-leaderboard-panel .pagination-controls{align-self:end}.dashboard-child-row{text-align:left;background:#fbfaf5;border:1px solid #e1e7e3;border-radius:8px;width:100%}.dashboard-tournaments-panel{gap:12px}.dashboard-tournament-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:8px;display:grid}.dashboard-tournament-row{color:#25313b;text-align:left;background:#fff;border:1px solid #eadfd7;border-radius:8px;gap:4px;padding:11px;display:grid}.dashboard-tournament-row.active{background:#fff4ee;border-color:#f47e59}.dashboard-tournament-row span{color:#687a80;font-size:13px}.dashboard-create-tournament-button{justify-self:start}.tournament-action-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:4px;display:grid}.tournament-action-row .primary-button,.tournament-action-row .danger-button{width:100%}.workspace-grid{grid-template-columns:minmax(280px,.9fr) minmax(360px,1.3fr);align-items:start;gap:16px;display:grid}.tournament-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;width:100%;min-width:0;display:grid}.workspace-tabs{scrollbar-width:thin;border-bottom:1px solid #eadfd7;gap:14px;margin-top:4px;display:flex;overflow-x:auto}.workspace-tabs button{color:#52666b;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;padding:12px 16px;font-weight:850}.workspace-tabs button.active{color:#7d321f;border-color:#f47e59}.tournament-workspace>.panel{grid-column:1;width:100%}.panel{background:#fff;border:1px solid #eadfd7;border-radius:8px;gap:14px;min-width:0;padding:16px;display:grid;box-shadow:0 14px 36px #4f362414}.standings-panel{grid-column:2}.rounds-panel{grid-column:1/-1}.overview-panel{align-content:start;align-self:stretch}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.school-year-summary-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:14px}.school-year-comparison-list{gap:8px;margin-bottom:18px;display:grid}.school-year-comparison-row{color:#52666b;background:#fbfaf5;border:1px solid #e1e7e3;border-left:5px solid #d9ded9;border-radius:8px;grid-template-columns:minmax(110px,.7fr) repeat(4,minmax(120px,1fr));align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:grid}.school-year-comparison-row.active{background:#f4fbfc;border-color:#b7e0e6 #b7e0e6 #b7e0e6 #168a9f}.school-year-comparison-row strong{color:#25313b;font-size:15px}.summary-tile{background:#fbfaf5;border:1px solid #e1e7e3;border-radius:8px;gap:6px;min-height:86px;padding:12px;display:grid}.summary-tile span{color:#687a80;text-transform:uppercase;font-size:12px;font-weight:800}.summary-tile strong{color:#25313b;align-self:end;font-size:22px}.section-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title h3{font-size:18px}.compact-title h3{font-size:15px}.inline-form,.round-generate,.catch-up-form,.match-actions{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) auto;align-items:center;gap:8px;display:grid}.round-generate{grid-template-columns:1fr}.phase-switcher{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px;display:grid}.phase-switcher button{color:#25313b;text-align:left;background:#fff;border:1px solid #eadfd7;border-radius:8px;gap:4px;padding:11px;display:grid}.phase-switcher button.active{background:#eef8fa;border-color:#168a9f;box-shadow:inset 4px 0 #168a9f}.phase-switcher span{color:#52666b;font-size:13px}.round-generate-main{grid-template-columns:minmax(120px,160px) minmax(180px,1fr) auto;align-items:center;gap:8px;display:grid}.attendance-picker{background:#f7fbfb;border:1px solid #d6e4e6;border-radius:8px;padding:10px}.attendance-picker summary{color:#25313b;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;font-weight:850;display:flex}.attendance-picker summary span{color:#52666b;font-size:13px}.attendance-actions,.attendance-groups,.attendance-player-list{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.attendance-group,.attendance-player{background:#fff;border:1px solid #dce9e9;border-radius:8px;align-items:center;gap:8px;padding:9px;display:flex}.attendance-group input,.attendance-player input{width:auto}.attendance-group span,.attendance-player span{color:#52666b;gap:2px;font-size:12px;display:grid}.attendance-group strong,.attendance-player strong{color:#25313b;font-size:14px}.attendance-player-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));max-height:240px;display:grid;overflow:auto}.final-route-starter,.final-round-generator{background:#fff8f3;border:1px solid #f1ded2;border-radius:8px;gap:12px;padding:12px;display:grid}.final-route-starter h4,.final-route-starter p{margin:0}.final-route-starter p{color:#52666b}.final-route-controls,.final-round-generator{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end}.final-route-preview{background:#fff;border:1px solid #eadfd7;border-radius:8px;gap:4px;padding:10px;display:grid}.final-route-preview span{color:#52666b;line-height:1.45}.final-route-starter>.primary-button{justify-self:start}.final-bracket{grid-template-columns:repeat(var(--bracket-columns,4), minmax(0, 1fr));column-gap:var(--bracket-column-gap);--bracket-row-height:45px;--bracket-card-vertical-gap:4px;--bracket-column-gap:32px;--bracket-joint-offset:16px;--bracket-line-color:#b9c8c4;--bracket-connector-radius:10px;background:#f7fbfb;border:1px solid #d6e4e6;border-radius:8px;align-items:stretch;padding:8px 10px 10px;display:grid;overflow-x:clip}.final-bracket-column{grid-template-rows:17px minmax(0,1fr);gap:5px;min-width:0;display:grid}.final-bracket-column h5{color:#126b7d;text-transform:uppercase;margin:0;font-size:13px}.bracket-match-stack{grid-template-rows:repeat(var(--bracket-grid-rows,16), var(--bracket-row-height));min-height:calc(var(--bracket-grid-rows,16) * var(--bracket-row-height));display:grid;position:relative}.bracket-match{grid-row:var(--bracket-row-start) / span 2;margin-block:var(--bracket-card-vertical-gap);z-index:1;background:#fff;border:1px solid #dce9e9;border-left:4px solid #b9c8c4;border-radius:8px;align-content:center;gap:5px;padding:6px 7px 9px;display:grid;position:relative;box-shadow:0 5px 12px #25313b09}.bracket-match.third-place-match{background:#fff8f3;border-left-color:#f47b5c}.bracket-match.placeholder{background:#ffffff9e;border-style:dashed}.bracket-match-label{color:#52666b;justify-content:space-between;align-items:center;gap:6px;min-width:0;font-size:10px;line-height:1.1;display:flex}.bracket-match-label>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.bracket-match-label small{color:#52666b;text-align:right;text-overflow:ellipsis;white-space:nowrap;flex:none;max-width:118px;font-size:9px;font-weight:800;overflow:hidden}.bracket-player{background:#fbfcfb;border:1px solid #edf2f1;border-radius:7px;grid-template-columns:16px auto minmax(0,1fr) minmax(0,max-content);align-items:center;gap:2px 4px;min-width:0;min-height:28px;padding:3px 6px;display:grid}.bracket-seed{color:#9f513e;background:#fff0ea;border-radius:999px;grid-column:1;place-items:center;width:16px;height:16px;font-size:9px;font-weight:800;display:inline-grid}.bracket-color{color:#52666b;text-transform:uppercase;grid-column:2;font-size:9px;font-weight:800}.bracket-player strong,.bracket-player-link{color:#25313b;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;grid-column:3;padding:0;font-size:12px;font-weight:850;line-height:1.1;overflow:hidden}.bracket-player-link{cursor:pointer}.bracket-player-link:hover,.bracket-player-link:focus-visible{color:#168a9f;text-underline-offset:2px;text-decoration:underline}.bracket-player.winner{background:#eef9fb;border-color:#cfe8ed}.bracket-player.winner strong,.bracket-player.winner .bracket-player-link{color:#7d321f}.bracket-player.loser{background:#fffdfb}.bracket-player.medal-result.medal-goud{background:#fff8df;border-color:#e9c666}.bracket-player.medal-result.medal-zilver{background:#f6f8f8;border-color:#cfd9dc}.bracket-player.medal-result.medal-brons{background:#fff2e9;border-color:#d7a078}.bracket-player em{color:#126b7d;grid-column:3;font-size:9px;font-style:normal;font-weight:800}.bracket-flow-label{color:#126b7d;text-overflow:ellipsis;white-space:nowrap;background:#eaf7fa;border-radius:999px;grid-column:4;justify-self:end;max-width:140px;padding:1px 5px;font-size:9px;font-weight:800;overflow:hidden}.bracket-result-label{white-space:nowrap;border-radius:999px;grid-column:4;justify-self:end;align-items:center;gap:3px;padding:1px 5px;font-size:9px;font-weight:850;display:inline-flex}.bracket-result-label:before{content:"";border-radius:999px;width:7px;height:7px}.bracket-result-label.advance{color:#168a9f;background:0 0;padding-inline:0}.bracket-result-label.advance:before{display:none}.bracket-result-label.medal-goud{color:#795000;background:#fff0bb}.bracket-result-label.medal-goud:before{background:#f2c94c;box-shadow:inset 0 0 0 1px #c99213}.bracket-result-label.medal-zilver{color:#52666b;background:#eef3f4}.bracket-result-label.medal-zilver:before{background:#d7e0e3;box-shadow:inset 0 0 0 1px #aebbc0}.bracket-result-label.medal-brons{color:#7b3e18;background:#ffe3d0}.bracket-result-label.medal-brons:before{background:#c8783d;box-shadow:inset 0 0 0 1px #99511f}.bracket-connector{display:none}.knockout-tiebreak-fields{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.knockout-tiebreak-fields label{color:#25313b;gap:5px;font-weight:800;display:grid}@media (width>=900px){.bracket-match.has-inputs .bracket-connector{top:calc(50% - (var(--bracket-row-height) * var(--connector-span,1) / 2));left:calc(-1 * var(--bracket-column-gap));width:var(--bracket-column-gap);height:calc(var(--bracket-row-height) * var(--connector-span,1));pointer-events:none;display:block;position:absolute}.bracket-connector-pair{width:var(--bracket-joint-offset);border-top:2px solid var(--bracket-line-color);border-right:2px solid var(--bracket-line-color);border-bottom:2px solid var(--bracket-line-color);box-sizing:border-box;border-radius:0 var(--bracket-connector-radius) var(--bracket-connector-radius) 0;position:absolute;inset:0 auto 0 0}.bracket-connector-target{top:calc(50% - 1px);right:0;left:var(--bracket-joint-offset);border-top:2px solid var(--bracket-line-color);border-radius:999px;position:absolute}.bracket-match:after{display:none}}@media (width<=899px){.final-bracket{grid-template-columns:1fr;gap:12px;overflow-x:visible}.final-bracket-column{grid-template-rows:auto auto;min-width:0}.bracket-match-stack{grid-template-rows:none;gap:10px;min-height:0;display:grid}.bracket-match{grid-row:auto}.bracket-match:after{display:none}.knockout-tiebreak-fields{grid-template-columns:1fr}}.inline-form{grid-template-columns:auto minmax(180px,1fr) minmax(120px,.55fr) 40px}.catch-up-form{background:#fff8f3;border:1px solid #f1ded2;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;padding:12px}.player-list{gap:8px;display:grid}.player-detail-layout{grid-template-columns:minmax(0,.95fr) minmax(320px,1.05fr);align-items:start;gap:14px;display:grid}.player-list-column{gap:12px;display:grid}.player-row{background:#fbfaf5;border:1px solid #e2e6e2;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px;display:flex}.player-row.selected{background:#eefbfc;border-color:#0b8aa0;box-shadow:inset 4px 0 #0b8aa0}.player-row.inactive{opacity:.66}.player-row-main{min-width:0;color:inherit;text-align:left;background:0 0;border:0;flex:1;padding:0;display:grid}.player-row-main:focus-visible{outline-offset:4px;outline:2px solid #0b8aa0}.player-row-main,.player-row div{gap:2px;display:grid}.player-score-panel{background:#fffefa;border:1px solid #e2e6e2;border-radius:8px;gap:12px;padding:12px;display:grid}.player-score-panel.empty-state{align-content:center;min-height:260px}.round-score-list{gap:10px;display:grid}.round-score-card{background:#fbfaf5;border:1px solid #dbe5e2;border-radius:8px;gap:10px;padding:11px;display:grid}.round-score-group{gap:8px;display:grid}.round-score-group summary{color:#25313b;cursor:pointer;background:#f4fbfc;border:1px solid #dbe5e2;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 11px;display:flex}.round-score-group summary strong{font-weight:850}.round-score-group summary span{color:#52666b;text-align:right;font-size:13px;font-weight:700}.round-score-group-body{gap:10px;padding-top:2px;display:grid}.helper-score-card{background:#f4fbfc;border-color:#cfe4e8}.player-score-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.player-score-summary>div{background:#fbfaf5;border:1px solid #dbe5e2;border-radius:8px;gap:2px;padding:10px;display:grid}.player-score-summary span,.round-score-totals span,.round-score-result small{color:#52666b;font-size:13px}.player-score-summary strong{font-size:18px}.round-score-heading,.round-score-entry,.round-score-result{justify-content:space-between;align-items:center;gap:12px;display:flex}.round-score-heading>div,.round-score-entry>div{gap:2px;display:grid}.round-score-heading span,.round-score-entry span,.muted-line,.score-note{color:#52666b;font-size:13px}.round-score-entry{border-top:1px solid #e4ebe8;padding-top:9px}.round-score-entry:first-child{border-top:0;padding-top:0}.helper-entry{color:#40565c}.round-score-totals,.round-score-result{text-align:right;flex-shrink:0;justify-items:end;gap:2px;display:grid}.round-score-result span{text-align:right}.round-score-entry>.icon-button{flex:none}.muted-line{margin:0}.pagination-controls{color:#52666b;border-top:1px solid #edf0ed;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;font-size:13px;display:flex}.pagination-controls>div{align-items:center;gap:8px;display:flex}.pagination-controls strong{text-align:center;min-width:52px}.toggle{white-space:nowrap;grid-template-columns:none;align-items:center;gap:8px;display:flex}.toggle input{width:auto}.data-table{border-collapse:collapse;width:100%;font-size:14px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e3e8e4;padding:9px 6px}.data-table th{color:#52666b;text-transform:uppercase;font-size:12px}.table-link-button,.inline-link-button{color:#1f2b36;font:inherit;font-weight:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.table-link-button:hover,.table-link-button:focus-visible,.inline-link-button:hover,.inline-link-button:focus-visible{color:#8b2f1f;text-underline-offset:3px;text-decoration:underline}.standings-panel{overflow-x:auto}.final-phase-panel{gap:16px;display:grid}.final-phase-overview,.final-phase-section{gap:12px;min-width:0;display:grid}.final-phase-section .section-title h4{color:#7d321f;margin:0;font-size:16px}.final-day-table td:nth-child(2){gap:2px;display:grid}.final-day-table td:nth-child(2) small{color:#52666b;font-size:12px}.makeup-strip{background:#eef8fa;border-left:4px solid #168a9f;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.catch-up-overview{background:#f7fbfb;border:1px solid #d6e4e6;border-radius:8px;gap:10px;padding:12px;display:grid}.catch-up-list{gap:8px;display:grid}.catch-up-item{color:inherit;font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce9e9;border-radius:8px;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.catch-up-item:hover,.catch-up-item:focus-visible{background:#eef8fa;border-color:#168a9f;outline:none}.catch-up-item span:not(.status-pill){color:#52666b;font-size:13px}.rounds-workspace{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.round-index{gap:8px;max-height:70vh;padding-right:4px;display:grid;overflow:auto}.round-index button{color:#25313b;text-align:left;background:#fff;border:1px solid #eadfd7;border-radius:8px;gap:4px;padding:11px;display:grid}.round-index button.active{background:#fff4ee;border-color:#f47e59}.round-index span,.round-index small{color:#687a80;font-size:12px}.round-detail{min-width:0}.round-detail .match-row{grid-template-columns:1fr;align-items:stretch}.round-detail .match-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.round-detail .match-actions input[type=date]{min-width:0}.round-detail .match-actions .secondary-button{width:100%}.makeup-strip span{color:#486267;font-size:13px}.stage-block,.round-block{gap:10px;display:grid}.stage-block{border-top:1px solid #dce4df;padding-top:14px}.round-phase-section{gap:8px;display:grid}.round-phase-label{color:#126b7d;text-transform:uppercase;font-size:13px;font-weight:850}.stage-block>h4{color:#7d321f;margin:0}.round-block{border-top:1px solid #f0e5dc;padding-top:12px}.round-block header{justify-content:space-between;align-items:center;gap:12px;display:flex}.round-header-actions{align-items:center;gap:8px;display:flex}.match-list{gap:8px;display:grid}.pairing-log{background:#f7fbfb;border:1px solid #d6e4e6;border-radius:8px}.pairing-log summary{cursor:pointer;color:#126b7d;padding:10px 12px;font-weight:800}.pairing-log pre{color:#2d3e42;white-space:pre-wrap;border-top:1px solid #d6e4e6;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.55;overflow-x:auto}.match-row{background:#fbfaf5;border:1px solid #e1e7e3;border-radius:8px;grid-template-columns:minmax(220px,1fr) auto auto minmax(320px,1.2fr);align-items:center;gap:10px;padding:10px;display:grid}.match-row.status-postponed,.match-row.catch-up-match{background:#fff7dd;border-color:#f7b24d}.match-row.status-completed{background:#f0f7f1;border-color:#a4c7b4}.match-row.highlighted-match{border-color:#168a9f;box-shadow:0 0 0 3px #168a9f29}.match-players{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.match-player-link{color:#25313b;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;font-weight:850}.match-player-link:hover,.match-player-link:focus-visible{color:#168a9f;text-underline-offset:2px;text-decoration:underline}.color-badge{border-radius:999px;align-items:center;min-height:22px;padding:3px 7px;font-size:11px;font-weight:850;display:inline-flex}.white-badge{color:#263238;background:#fff;border:1px solid #cfd8d4}.black-badge{color:#fff;background:#263238}.status-pill{color:#2d3e42;background:#e9eeeb;border-radius:999px;justify-content:center;min-width:76px;padding:5px 9px;font-size:12px;font-weight:800;display:inline-flex}.catch-up-pill{color:#126b7d;background:#e9f7fb}.match-actions{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}.match-actions input[type=date]{min-width:0}.match-actions select,.match-actions button{width:100%;min-width:0}.login-screen{background-color:#0000;background-image:linear-gradient(135deg,#f47e59e0,#168a9fc2),url(https://images.unsplash.com/photo-1529699211952-734e80c4d42b?auto=format&fit=crop&w=1600&q=80);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{background:#fffefa;border-radius:8px;width:min(420px,100%);padding:24px;box-shadow:0 24px 80px #0000003d}.login-panel h1{margin:0 0 8px;font-size:30px}.login-logo{width:150px;height:auto;margin-bottom:12px}.login-button{width:100%;position:relative}.login-progress{background:#f6d7ca;border-radius:999px;height:4px;position:relative;overflow:hidden}.login-progress:after{border-radius:inherit;content:"";background:#168a9f;width:42%;height:100%;animation:1.1s ease-in-out infinite login-progress;position:absolute}@keyframes login-progress{0%{transform:translate(-120%)}to{transform:translate(260%)}}.error{color:#8a2f24;background:#fff1ec;border:1px solid #e6b2a8;border-radius:8px;padding:10px 12px}.success{color:#245b35;background:#f0f7f1;border:1px solid #9fc8aa;border-radius:8px;padding:10px 12px}.compact-success{padding:8px 10px;font-size:13px}.empty-state{color:#546a6f;text-align:center;border:1px dashed #b9c8c4;border-radius:8px;place-items:center;min-height:360px;padding:18px;line-height:1.35;display:grid}.compact-empty{min-height:180px}.compact-error{padding:8px 10px;font-size:13px}.children-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.child-create-form{grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr) minmax(100px,.45fr) auto;align-items:end;gap:10px;display:grid}.search-field{max-width:520px}.import-children-panel{background:#f7fbfb;border:1px solid #d6e4e6;border-radius:8px;gap:10px;padding:12px;display:grid}.import-child-list{gap:8px;max-height:260px;display:grid;overflow:auto}.import-child-row{background:#fff;border:1px solid #dce9e9;border-radius:8px;grid-template-columns:minmax(220px,.9fr) minmax(180px,1fr);align-items:center;gap:8px;padding:9px;display:grid}.import-child-row .toggle span{color:#52666b;gap:2px;font-size:12px;display:grid}.import-child-row .toggle strong{color:#25313b;font-size:14px}.child-list,.leaderboard-list{gap:8px;display:grid}.child-row{background:#fbfaf5;border:1px solid #efc6b7;border-left:5px solid #f47758;border-radius:8px;gap:9px;min-width:0;padding:10px 10px 10px 12px;display:grid;overflow:hidden;box-shadow:0 1px #7b37230f}.child-row.inactive{opacity:.66;border-left-color:#9ca8a9}.child-row.selected{border-color:#168a9f;box-shadow:0 0 0 2px #168a9f1f}.child-main-fields{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));align-items:center;gap:8px;display:grid}.child-main-fields>input{min-width:0}.child-main-fields .icon-button{justify-self:start}.child-progress{color:#52666b;justify-content:space-between;gap:10px;font-size:13px;display:flex}.child-profile-button{text-align:left;background:0 0;border:0;border-radius:6px;padding:6px 8px}.child-profile-button:hover,.child-profile-button:focus-visible{color:#126b7d;background:#eef8fa}.exam-form{grid-template-columns:minmax(150px,.8fr) minmax(135px,.5fr) minmax(180px,1fr) 40px;align-items:center;gap:8px;min-width:0;display:grid}.child-side-panel{align-content:start}.child-profile-panel{border-bottom:1px solid #edf0ed;gap:12px;padding-bottom:14px;display:grid}.child-profile-panel .section-title>div{gap:2px;display:grid}.child-profile-panel .section-title span:not(.rating-delta){color:#52666b;font-size:13px}.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.profile-section,.profile-list,.profile-game-list{gap:8px;display:grid}.profile-list-row,.profile-game-row{background:#fbfaf5;border:1px solid #e1e7e3;border-radius:8px;gap:3px;padding:9px;display:grid}.profile-game-row{grid-template-columns:minmax(0,1fr) auto;align-items:center}.profile-game-row>div{gap:2px;display:grid}.profile-list-row span,.profile-game-row span,.profile-list-row small,.profile-game-row small{color:#52666b;font-size:12px}.profile-note{grid-column:1/-1}.profile-empty{min-height:76px;font-size:13px}.rating-delta{border-radius:999px;justify-content:center;align-items:center;min-width:46px;padding:5px 9px;font-weight:850;display:inline-flex}.rating-delta.positive{color:#245b35;background:#e8f5eb}.rating-delta.negative{color:#8a2f24;background:#fff1ec}.rating-delta.small{min-width:38px;padding:4px 7px;font-size:12px}.leaderboard-row{background:#fbfaf5;border:1px solid #e1e7e3;border-radius:8px;grid-template-columns:34px minmax(120px,1fr);align-items:center;gap:4px 8px;padding:10px;display:grid}.leaderboard-row strong{color:#7d321f;background:#fff4ee;border-radius:999px;grid-row:span 2;place-items:center;width:28px;height:28px;display:grid}.leaderboard-row small{color:#52666b}.casual-game-form{border-top:1px solid #edf0ed;gap:10px;padding-top:14px;display:grid}.child-selector{background:#f7fbfb;border:1px solid #d6e4e6;border-radius:8px;gap:10px;padding:12px;display:grid}.child-selector-actions{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.child-selector-actions span{color:#25313b;font-weight:650}.child-pick-list{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;max-height:220px;display:grid;overflow:auto}.child-pick{background:#fff;border:1px solid #dce9e9;border-radius:8px;align-items:center;gap:8px;padding:9px;font-weight:500;display:flex}.child-pick input{width:auto}.child-pick span{color:#52666b;gap:2px;font-size:12px;display:grid}.child-pick strong{color:#25313b;font-size:14px}.inline-form-label{color:#52666b;font-size:13px;font-weight:850}.users-panel{max-width:1180px}.user-create-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;display:grid}.user-list{gap:8px;display:grid}.user-row{background:#fbfaf5;border:1px solid #e1e7e3;border-radius:8px;grid-template-columns:minmax(130px,.9fr) minmax(160px,1fr) minmax(150px,1fr) auto auto 40px 40px;align-items:center;gap:8px;padding:10px;display:grid}.user-row.inactive{opacity:.66}.compact-toggle{font-weight:700}.instruction-page{gap:18px;display:grid}.instruction-hero{background:linear-gradient(135deg,#fff4ee,#eef8fa);border:1px solid #eadfd7;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex}.instruction-hero h3{margin:4px 0 10px;font-size:26px}.instruction-hero p{color:#5c5550;max-width:780px;margin:0;line-height:1.55}.instruction-hero img{width:130px;height:auto}.instruction-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.instruction-block{background:#fff;border:1px solid #eadfd7;border-radius:8px;padding:16px}.instruction-block h4{color:#7d321f;margin:0 0 10px;font-size:17px}.instruction-block ul{color:#4d5960;gap:7px;margin:0;padding-left:18px;line-height:1.45;display:grid}.release-notes-page{gap:16px;display:grid}.release-current{background:#fff;border:1px solid #eadfd7;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);align-items:end;gap:16px;padding:18px;display:grid}.release-current h3{margin:4px 0;font-size:24px}.release-current p{color:#5a6b70;margin:0;line-height:1.45}.release-notes-list{gap:12px;display:grid}.release-block{background:#fff;border:1px solid #eadfd7;border-radius:8px;padding:16px}.release-block-heading{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.release-block-heading span{color:#168a9f;letter-spacing:0;font-weight:900}.release-block-heading h4{color:#7d321f;margin:0;font-size:18px}.release-block ul{color:#4d5960;gap:7px;margin:0;padding-left:18px;line-height:1.45;display:grid}@media (width<=1100px){.workspace-grid,.rounds-panel,.standings-panel,.lesson-grid,.tournaments-page,.settings-page,.rounds-workspace,.release-current{grid-column:auto;grid-template-columns:1fr}.workspace-grid{display:grid}.tournament-import-panel,.tournament-list-panel{grid-area:auto}.match-row,.catch-up-item,.user-row,.user-create-form,.player-detail-layout,.children-workspace,.child-create-form,.child-main-fields,.exam-form,.summary-grid{grid-template-columns:1fr}}@media (width<=780px){.workspace{padding:16px}.rounds-panel{grid-template-columns:minmax(0,1fr)}.rounds-panel>*{min-width:0}.final-route-starter>.primary-button{white-space:normal;max-width:100%}.app-footer{justify-content:center}.topbar{flex-direction:column;align-items:flex-start}.dashboard-topbar{gap:14px;margin-bottom:8px}.app-masthead{gap:14px}.app-masthead-logo{width:76px}.app-masthead h2{font-size:30px}.app-masthead p{font-size:17px}.view-heading{margin:-2px 0 14px}.view-heading h2{font-size:24px}.inline-form,.round-optimizer,.round-generate-main,.round-bye-form,.school-year-create,.score-settings-grid,.manual-pairing-fields,.exam-definition-row,.round-generate,.catch-up-form,.match-actions,.user-create-form,.user-row,.children-workspace,.import-child-row,.child-create-form,.child-main-fields,.exam-form{grid-template-columns:1fr}.section-title>.round-generate{width:100%}.round-detail .match-actions,.round-helper-form,.wizard-grid{grid-template-columns:1fr}.round-detail .match-actions input[type=date],.match-actions input[type=date],.match-actions select{min-width:0}.match-actions .secondary-button{width:100%}.exam-form>input,.exam-form>button{width:100%;max-width:100%}.child-main-fields .icon-button,.icon-button{width:100%}.section-title{flex-direction:column;align-items:flex-start}.topbar-actions{flex-direction:row;justify-content:flex-start;align-items:center;width:100%;position:relative}.dashboard-topbar .topbar-actions{grid-template-columns:repeat(4,40px);justify-content:start;width:min(100%,184px);display:grid}.topbar-select{flex-direction:column;align-items:stretch;width:100%}.topbar-actions>.icon-button,.topbar-actions>.topbar-management-menu,.topbar-management-menu summary{flex:0 0 40px;order:1;width:40px}.topbar-actions .compact-schoolyear{flex:1 0 100%;order:2;max-width:none}.dashboard-topbar .topbar-actions .compact-schoolyear{grid-column:1/-1}.topbar-management-content{width:min(100vw - 32px,360px);top:calc(100% + 8px);left:0;right:auto}.topbar-select select{width:100%}.mobile-hidden{display:none}.pagination-controls{flex-direction:column;align-items:flex-start}.lesson-title{align-items:flex-start}.dashboard-primary-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.dashboard-tournament-panel,.dashboard-leaderboard-panel{display:none}.dashboard-tournament-panel.active,.dashboard-leaderboard-panel.active{display:grid}.dashboard-rounds-view .round-generate{max-width:none}.desktop-only-tab{display:none}.tournament-action-row{grid-template-columns:1fr}.child-selector-actions{grid-template-columns:1fr;display:grid}.child-selector-actions .secondary-button{width:100%}.dashboard-create-tournament-button{justify-self:stretch}.school-year-comparison-row{grid-template-columns:1fr;gap:4px}.crosstable th:first-child{min-width:132px}.instruction-hero,.instruction-grid{grid-template-columns:1fr}.instruction-hero{flex-direction:column;align-items:flex-start}}
