.rhythm-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.rhythm-toolbar h2{margin:6px 0 0;font-size:24px}.rhythm-toolbar .actions{flex-wrap:wrap}.rhythm-status{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #303b46;padding:0 0 14px;color:#aab8c6;font-size:12px}.rhythm-status>span:last-child{color:#66baff}.rhythm-host-help{color:#aab8c6;font-size:12px;line-height:1.5;margin:14px 0}.rhythm-scroll{overflow-x:auto;padding:18px 0 12px;scrollbar-width:thin;scrollbar-color:#3577a9 #17212b;max-width:100%}.rhythm-broadcast-board{position:relative;aspect-ratio:1600/780;min-width:1080px;width:100%;container-type:inline-size;border:1px solid #9bb9cc;background:linear-gradient(112deg,#354e65dc 0%,#001d3af2 42%,#001a35f2 58%,#344c61d9 100%);isolation:isolate;overflow:hidden;box-shadow:inset 0 0 65px #06182b80}.rhythm-broadcast-board:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(25deg,transparent 38%,#ffffff03 38% 41%,transparent 41%),linear-gradient(145deg,transparent 47%,#00000012 47% 56%,transparent 56%)}.rhythm-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.rhythm-connectors path{fill:none;stroke:#be1453;stroke-width:3.5;stroke-linejoin:miter;vector-effect:non-scaling-stroke}.rhythm-event-badge{position:absolute;left:38.5%;width:23%;top:5.8%;height:10.5%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid #e4dae0;background:linear-gradient(#d33c72,#9f0938 62%,#6c092a);box-shadow:inset 0 0 12px #f8b1cd45,0 2px 5px #0008;font-family:var(--font-display);font-style:normal;color:#fff;text-align:center;line-height:.99;text-shadow:1px 2px 2px #47111b}.rhythm-event-badge>span{font-size:2.45cqw;font-weight:850;letter-spacing:.035em}.rhythm-event-badge>strong{font-size:1.8cqw;letter-spacing:-.035em;font-weight:800;white-space:nowrap}.rhythm-class-badge{position:absolute;left:35%;top:19%;width:30%;font-size:1.7cqw;color:#f4dc4b;font-family:var(--font-display);font-weight:850;line-height:1.1;text-align:center}.rhythm-round-heading{position:absolute;top:9.1%;color:#a4b5c8;font-size:.57cqw;letter-spacing:.03em;font-weight:650}.rhythm-round-heading-left{left:2.4%}.rhythm-round-heading-right{right:2.4%}.rhythm-broadcast-rider{position:absolute;width:13.25%;height:7.18%;display:flex;align-items:center;gap:0;border:0;border-radius:0;padding:0;margin:0;min-height:0;background:transparent;color:white;line-height:1;text-align:center;box-sizing:border-box;z-index:2;font-family:var(--font-display);font-style:normal}.rhythm-broadcast-rider.rhythm-right{flex-direction:row-reverse}.rhythm-broadcast-rider:is(button):hover{background:transparent;border:0;filter:brightness(1.18)}.rhythm-broadcast-rider:focus-visible{outline:2px solid #ffee80;outline-offset:4px}.rhythm-broadcast-seed{width:19.8%;height:68%;flex:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(#fff,#e4e8ed);border:2px solid #be1453;color:#101017;font-size:2cqw;font-weight:850;box-shadow:0 0 2px #07132b}.rhythm-name-panel{position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;min-width:0;height:100%;padding:2px 5px;border:1px solid #b4cce07a;border-right:3px solid #ac1c51;background:linear-gradient(174deg,#365e9b 0%,#193d77 43%,#022a65 62%,#39a8d8 100%);box-shadow:inset 0 1px 5px #b8cffa66,0 1px 4px #08162e80;text-shadow:0 1px 2px #051e45}.rhythm-right .rhythm-name-panel{border-right:1px solid #b4cce07a;border-left:3px solid #ac1c51}.rhythm-first-name,.rhythm-last-name,.rhythm-team{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase}.rhythm-first-name{font-size:1.03cqw;line-height:1.05;font-weight:500}.rhythm-last-name{font-size:1.25cqw;line-height:1.03;font-weight:800}.rhythm-team{font-family:var(--font-body);font-size:.48cqw;margin-top:2px;line-height:1;font-weight:550;color:#cfe3f4;padding:0 15px}.rhythm-broadcast-rider.is-out .rhythm-name-panel{background:linear-gradient(165deg,#63747e,#273841 46%,#495861 66%,#95a5ad);text-shadow:0 1px 2px #10222e}.rhythm-broadcast-rider.is-out .rhythm-first-name,.rhythm-broadcast-rider.is-out .rhythm-last-name{color:#a6b0bb}.rhythm-broadcast-rider.is-out .rhythm-team{color:#92a0af}.rhythm-broadcast-rider.is-empty .rhythm-name-panel{background:linear-gradient(165deg,#354d63,#16304d 70%,#345269);border-color:#63788d55;color:#91a4bb}.rhythm-broadcast-rider.is-empty .rhythm-broadcast-seed{background:#bdc8d2;color:#5f7287}.rhythm-waiting{font-size:.87cqw;line-height:1.3;padding:0 5px}.rhythm-run-wins,.rhythm-placement{position:absolute;right:3px;bottom:3px;font-family:var(--font-body);font-size:.59cqw;font-weight:750;color:#fff;background:#061a34d9;padding:2px 3px;border:1px solid #7d9fbc75;line-height:1;border-radius:0;white-space:nowrap}.rhythm-placement{background:#fff;color:#102541;border-color:#ba2458}.rhythm-broadcast-rider.is-winner .rhythm-placement{background:#fff4b0;color:#29260a}.rhythm-board-footer{position:absolute;left:43.5%;top:86%;width:13%;height:10%;background:#14283bdd;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border:1px solid #748ba11a}.rhythm-board-footer img{width:65%;height:45%;object-fit:contain}.rhythm-board-footer span{font-size:.57cqw;letter-spacing:.12em;color:#b3c7da}.rhythm-champion{margin:18px 0 0;padding:16px;border:1px solid #b22657;border-left:3px solid #ce2c69;background:#0d2541;display:flex;flex-direction:column;align-items:center;gap:7px;text-align:center}.rhythm-champion>span{color:#f4dc4b;font-size:10px;letter-spacing:1px}.rhythm-champion strong{font-size:22px;color:#fff}@media(max-width:650px){.rhythm-toolbar h2{font-size:21px}.rhythm-toolbar .actions{width:100%;gap:8px}.rhythm-toolbar .actions>.button,.rhythm-toolbar .actions>button{flex:1;font-size:12px;text-align:center}.rhythm-status{font-size:11px;gap:12px}.rhythm-broadcast-board{min-width:1080px}.rhythm-scroll{padding-top:12px}.rhythm-host-help{font-size:11px}}

.rhythm-left.rhythm-stage-0{left:2.3750%}
.rhythm-left.rhythm-stage-1{left:17.1250%}
.rhythm-left.rhythm-stage-2{left:32.0000%}
.rhythm-left.rhythm-stage-3{left:35.8125%}
.rhythm-right.rhythm-stage-0{left:84.3750%}
.rhythm-right.rhythm-stage-1{left:69.6250%}
.rhythm-right.rhythm-stage-2{left:54.7500%}
.rhythm-right.rhythm-stage-3{left:51.1250%}
.rhythm-stage-0.rhythm-slot-0{top:14.3590%}
.rhythm-stage-0.rhythm-slot-1{top:23.0769%}
.rhythm-stage-0.rhythm-slot-2{top:34.6154%}
.rhythm-stage-0.rhythm-slot-3{top:43.3333%}
.rhythm-stage-0.rhythm-slot-4{top:54.8718%}
.rhythm-stage-0.rhythm-slot-5{top:63.5897%}
.rhythm-stage-0.rhythm-slot-6{top:75.1282%}
.rhythm-stage-0.rhythm-slot-7{top:83.8462%}
.rhythm-stage-1.rhythm-slot-0{top:18.7179%}
.rhythm-stage-1.rhythm-slot-1{top:38.9744%}
.rhythm-stage-1.rhythm-slot-2{top:59.2308%}
.rhythm-stage-1.rhythm-slot-3{top:79.4872%}
.rhythm-stage-2.rhythm-slot-0{top:28.8462%}
.rhythm-stage-2.rhythm-slot-1{top:69.3590%}
.rhythm-stage-3.rhythm-slot-0{top:49.1026%}

.rhythm-event-badge{padding:0;gap:0;min-height:0;max-width:none;margin:0;border-radius:0}

/* Straight Rhythm has an eighth column for its four qualifying attempts. */
.race-table.rhythm-qualifying-table{width:100%;min-width:0;table-layout:fixed}
.race-table.rhythm-qualifying-table th,.race-table.rhythm-qualifying-table td{padding:12px 8px;min-width:0}
.race-table.rhythm-qualifying-table th:nth-child(1){width:5%}
.race-table.rhythm-qualifying-table th:nth-child(2){width:5%}
.race-table.rhythm-qualifying-table th:nth-child(3){width:12%}
.race-table.rhythm-qualifying-table th:nth-child(4){width:7%}
.race-table.rhythm-qualifying-table th:nth-child(5){width:31%}
.race-table.rhythm-qualifying-table th:nth-child(6){width:14%}
.race-table.rhythm-qualifying-table th:nth-child(7){width:12%}
.race-table.rhythm-qualifying-table th:nth-child(8){width:14%}
.race-table.rhythm-qualifying-table :is(th,td):is(:nth-child(1),:nth-child(2),:nth-child(4),:nth-child(7)){text-align:center}
.race-table.rhythm-qualifying-table .lap-time{white-space:normal;font-variant-numeric:tabular-nums}
@media(max-width:700px){
 .race-table.rhythm-qualifying-table,.rhythm-qualifying-table tbody{display:block;width:100%}
 .rhythm-qualifying-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
 .race-table.rhythm-qualifying-table tbody tr{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 8px;padding:14px 10px;margin-bottom:10px;border:1px solid #303b46;background:#13191f}
 .race-table.rhythm-qualifying-table tbody td{display:block;padding:0;border:0;width:auto;text-align:left;font-size:13px;overflow-wrap:anywhere}
 .race-table.rhythm-qualifying-table td:nth-child(1){grid-column:1;font-weight:750;color:#66baff}
 .race-table.rhythm-qualifying-table td:nth-child(5){grid-column:2/6;grid-row:1;font-weight:650}
 .race-table.rhythm-qualifying-table td:nth-child(2){grid-column:6;grid-row:1;text-align:right}
 .race-table.rhythm-qualifying-table td:nth-child(3){grid-column:1/5;grid-row:2}
 .race-table.rhythm-qualifying-table td:nth-child(4){grid-column:5/7;grid-row:2;text-align:right}
 .race-table.rhythm-qualifying-table td:nth-child(n+6){grid-column:span 2;border-top:1px solid #303b46;padding-top:9px}
 .race-table.rhythm-qualifying-table td:is(:nth-child(3),:nth-child(4),:nth-child(n+6)):before{content:attr(data-label);display:block;margin-bottom:4px;color:#9dabb9;font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}
 .rhythm-qualifying-table .rider-team .quali-team-logo{width:auto;max-width:90px}
 .race-table.rhythm-qualifying-table tr.outside-cutoff{border-left:3px solid #c95962}
 .race-table.rhythm-qualifying-table tr.qual-cutoff{border-bottom:2px solid #0092ff}
}

.race-table.rhythm-qualifying-table :is(th,td):is(:nth-child(1),:nth-child(2)){padding-left:4px;padding-right:4px}
.rhythm-qualifying-table .rider-region-flag{max-width:100%!important}
@media(max-width:700px){.race-table.rhythm-qualifying-table tbody td:is(:nth-child(1),:nth-child(2)){padding:0}}

/* A readable round-by-round bracket on phones, with the full board on desktop. */
.rhythm-mobile-bracket{display:none}
@media(max-width:800px){
 .rhythm-scroll{display:none}
 .rhythm-mobile-bracket{display:block;min-width:0;margin-top:16px}
 .rhythm-mobile-rounds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}
 .rhythm-mobile-rounds button{min-height:44px;min-width:0;padding:10px 6px;font-size:12px;line-height:1.3;white-space:normal}
 .rhythm-mobile-rounds button[aria-pressed="true"]{background:#087fc7;border-color:#3daaff;color:#fff}
 .rhythm-mobile-heading{font-size:16px;margin:0 0 12px;color:#fff}
 .rhythm-mobile-bracket section[hidden]{display:none}
 .rhythm-mobile-match{border:1px solid #3a4b60;background:#102238;margin:0 0 14px;overflow:hidden}
 .rhythm-mobile-match-title{display:flex;justify-content:space-between;gap:10px;padding:9px 10px;background:#182d45;color:#c9dbed;font-size:11px;border-bottom:1px solid #3a4b60}
 .rhythm-mobile-match-title span{color:#a9bfd4;text-align:right}
 .rhythm-mobile-rider{display:grid;grid-template-columns:30px minmax(0,1fr) 36px;align-items:center;gap:10px;width:100%;min-height:62px;padding:12px 10px;border:0;border-radius:0;background:linear-gradient(110deg,#193d69,#0b2648);color:#fff;text-align:left;font-family:var(--font-body);line-height:1.4;box-sizing:border-box}
 .rhythm-mobile-rider+.rhythm-mobile-rider{border-top:1px solid #45536a}
 button.rhythm-mobile-rider:hover{background:#214b79}
 .rhythm-mobile-rider:focus-visible,.rhythm-mobile-rounds button:focus-visible{outline:2px solid #7fcfff;outline-offset:-3px}
 .rhythm-mobile-seed{display:flex;align-items:center;justify-content:center;min-height:30px;background:#e9eff5;border-left:3px solid #c22e64;color:#142338;font-size:15px;font-weight:800}
 .rhythm-mobile-name{min-width:0;overflow-wrap:anywhere;font-size:14px;font-weight:650}
 .rhythm-mobile-name small{display:block;margin-top:4px;color:#b9d9ef;font-size:11px;font-weight:500}
 .rhythm-mobile-wins{text-align:center;font-size:18px;font-weight:750;font-variant-numeric:tabular-nums}
 .rhythm-mobile-wins small{display:block;color:#c1d3e4;font-size:10px;font-weight:500}
 .rhythm-mobile-rider.is-out{background:#233143;color:#bdc8d4}
 .rhythm-mobile-rider.is-empty{background:#14283e;color:#b1c4d7}
 .rhythm-mobile-rider.is-winner{box-shadow:inset 3px 0 #61c4ff}
 .rhythm-toolbar>div,.rhythm-toolbar .actions{min-width:0;max-width:100%}
 .rhythm-toolbar h2{overflow-wrap:anywhere}
 .rhythm-status{align-items:flex-start;flex-wrap:wrap;gap:6px 14px}
 .rhythm-champion strong{font-size:18px;overflow-wrap:anywhere}
}
