:root{--ink:#151515;--muted:#666;--paper:#f5f4ef;--card:#fff;--line:#dddcd5;--yellow:#f5cc24;--yellow2:#ffe66d;--red:#ed4b45;--green:#30a66a;--blue:#2779d8;--shadow:0 16px 40px rgba(20,20,18,.10);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(circle at 20% 0,rgba(245,204,36,.12),transparent 28rem),var(--paper)}button,input,select{font:inherit}a{color:inherit}.brandbar{position:sticky;z-index:50;top:0;background:#101010;color:#fff;border-bottom:4px solid var(--yellow);box-shadow:0 8px 30px rgba(0,0,0,.16)}.brandbar__inner{max-width:1200px;margin:auto;min-height:78px;padding:10px 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-weight:900;letter-spacing:-.02em}.brand:last-child{justify-self:end}.brandmark{width:42px;height:42px;border:2px solid var(--yellow);display:grid;place-items:center;border-radius:50%;font-size:12px;letter-spacing:.04em;color:var(--yellow)}.brandmark.flow{border-radius:11px;background:var(--yellow);color:#111;border-color:var(--yellow)}.event-title{text-align:center}.event-title strong{display:block;font-size:1.05rem}.event-title span{font-size:.75rem;color:#bebebe;text-transform:uppercase;letter-spacing:.14em}.shell{max-width:1200px;margin:0 auto;padding:28px 24px 60px}.statusline{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.eyebrow{text-transform:uppercase;font-size:.75rem;font-weight:900;letter-spacing:.16em;color:#74660f}.statusline h1{font-size:clamp(2rem,5vw,4.6rem);line-height:.92;letter-spacing:-.055em;margin:.25rem 0 0}.toolbar{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:end;background:#fff;padding:18px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.tabs{display:flex;gap:8px;overflow:auto;padding-bottom:2px;scrollbar-width:thin}.tab{border:1px solid var(--line);background:#f8f8f5;color:#383838;padding:11px 16px;border-radius:12px;font-weight:800;cursor:pointer;white-space:nowrap}.tab:hover,.tab:focus-visible{border-color:#777}.tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}.updated{text-align:right;color:var(--muted);font-size:.82rem}.updated b{display:block;color:var(--ink);font-size:.95rem}.racehead{margin:28px 0 14px;display:flex;justify-content:space-between;align-items:end;gap:20px}.racehead h2{font-size:clamp(1.65rem,3vw,2.5rem);margin:0;letter-spacing:-.04em}.racehead p{margin:.35rem 0 0;color:var(--muted)}.select-wrap{display:flex;align-items:center;gap:10px;font-weight:800}.select-wrap select{min-width:210px;padding:11px 38px 11px 12px;border-radius:10px;border:1px solid var(--line);background:#fff}.result-card{border-radius:18px;background:#fff;border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:720px}thead{background:#1b1b1b;color:#fff}th{text-align:left;padding:14px 18px;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}td{padding:16px 18px;border-bottom:1px solid #ecebe5;font-weight:650}tr:last-child td{border-bottom:0}tbody tr:hover{background:#fffbed}.place{font-size:1.25rem;font-weight:950;width:70px}.rider{display:flex;align-items:center;gap:12px}.bib{width:36px;height:30px;border-radius:7px;background:var(--yellow);display:grid;place-items:center;font-weight:950}.name{font-weight:900}.country{color:#777;font-size:.8rem}.time{font-variant-numeric:tabular-nums;font-weight:850}.gap{color:#777;font-size:.85rem}.podium{background:linear-gradient(90deg,rgba(245,204,36,.11),transparent 45%)}.note{padding:13px 18px;background:#fff9d9;border-top:1px solid #f2dc75;color:#615719;font-size:.85rem}.footer{max-width:1200px;margin:0 auto;padding:20px 24px 42px;display:flex;justify-content:space-between;color:#666;font-size:.85rem}.footer a{font-weight:800}.empty{padding:56px 20px;text-align:center;color:#666}.admin-shell{max-width:1120px;margin:auto;padding:32px 24px 70px}.admin-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.admin-top h1{margin:.15rem 0;font-size:clamp(2.1rem,5vw,3.7rem);letter-spacing:-.05em}.back{font-weight:850;text-decoration:none;padding:11px 15px;background:#fff;border:1px solid var(--line);border-radius:10px}.grid{display:grid;grid-template-columns:1.3fr .7fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.panel h2{font-size:1.1rem;margin:0;padding:18px 20px;border-bottom:1px solid var(--line)}.event-row{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 20px;border-bottom:1px solid #ecebe5}.event-row:last-child{border:0}.drag{color:#aaa;font-size:1.3rem}.event-row h3{font-size:1rem;margin:0}.event-row p{font-size:.8rem;color:#777;margin:.25rem 0 0}.switch{position:relative;width:48px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;inset:0;background:#c8c8c4;border-radius:99px;cursor:pointer;transition:.2s}.slider:before{content:"";position:absolute;width:20px;height:20px;left:4px;top:4px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.3);transition:.2s}.switch input:checked+.slider{background:var(--green)}.switch input:checked+.slider:before{transform:translateX(20px)}.settings{padding:20px;display:grid;gap:17px}.field label{display:block;font-weight:850;margin-bottom:7px}.field select,.field input{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#fff}.feed{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:#edf8f2;color:#216844}.feed b{display:block}.feed span{font-size:.8rem}.btn{border:0;border-radius:10px;padding:12px 15px;background:#171717;color:#fff;font-weight:850;cursor:pointer}.btn.yellow{background:var(--yellow);color:#171717}.toast{position:fixed;right:20px;bottom:20px;background:#171717;color:#fff;padding:13px 17px;border-radius:10px;box-shadow:var(--shadow);transform:translateY(90px);opacity:0;transition:.25s;z-index:90}.toast.show{transform:none;opacity:1}.demo-callout{margin-top:20px;border:1px dashed #b9a21b;background:#fff9d8;padding:14px 16px;border-radius:12px;color:#5d5318;font-size:.88rem}
@media(max-width:760px){.brandbar__inner{grid-template-columns:1fr auto;padding:9px 14px;gap:10px}.event-title{grid-row:2;grid-column:1/-1;width:100%;padding-top:5px;border-top:1px solid #333}.brand{font-size:.83rem}.brandmark{width:35px;height:35px;font-size:.62rem}.shell{padding:22px 14px 45px}.statusline{align-items:flex-start}.toolbar{grid-template-columns:1fr}.updated{text-align:left}.racehead{align-items:flex-start;flex-direction:column}.select-wrap{width:100%;justify-content:space-between}.select-wrap select{min-width:0;flex:1}.footer{padding:18px 14px 34px;flex-direction:column;gap:8px}.admin-shell{padding:22px 14px 50px}.admin-top{align-items:center}.grid{grid-template-columns:1fr}.event-row{padding:15px}.admin-top h1{font-size:2.35rem}}
.current-round{text-align:right}.current-round span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;font-weight:850}.current-round strong{font-size:1.1rem}.round-nav{display:flex;align-items:stretch;gap:0;margin-bottom:16px;overflow-x:auto;padding:3px 3px 8px;scrollbar-width:thin}.round{position:relative;min-width:150px;flex:1;display:flex;align-items:center;gap:10px;padding:13px 24px 13px 14px;border:1px solid var(--line);border-right:0;background:#fff;color:#555;font-weight:850;cursor:pointer;text-align:left}.round:first-child{border-radius:12px 0 0 12px}.round:last-child{border-right:1px solid var(--line);border-radius:0 12px 12px 0}.round:not(:last-child):after{content:"";position:absolute;z-index:2;right:-8px;top:50%;width:14px;height:14px;background:inherit;border-top:1px solid var(--line);border-right:1px solid var(--line);transform:translateY(-50%) rotate(45deg)}.round:hover{background:#fff9da;color:#171717}.round.active{z-index:3;background:var(--yellow);border-color:#d3ab09;color:#171717}.round.active:after{border-color:#d3ab09}.round-step{position:relative;z-index:3;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#efeee8;color:#777;font-size:.72rem}.round.active .round-step{background:#171717;color:#fff}.round-name{position:relative;z-index:3;white-space:nowrap}
@media(max-width:760px){.racehead{align-items:flex-end;flex-direction:row}.current-round{max-width:45%}.round{min-width:145px;padding:11px 20px 11px 11px}.round-step{width:25px;height:25px}}
.round{flex-direction:column;align-items:flex-start;gap:3px}.round .round-step{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.round .round-name{padding-right:34px}.round small{position:relative;z-index:3;color:#777;font-size:.72rem;font-weight:750}.round.active small{color:#4f4309}.race-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.race-grid.single{grid-template-columns:1fr}.race-table{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(20,20,18,.07)}.race-table>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;background:#1b1b1b;color:#fff;border-bottom:3px solid var(--yellow)}.race-table>header span{display:block;color:#aaa;text-transform:uppercase;letter-spacing:.11em;font-size:.68rem;font-weight:850}.race-table>header h3{margin:2px 0 0;font-size:1.05rem}.race-table>header b{font-size:.75rem;color:#dedede;white-space:nowrap}.race-table table{min-width:480px}.race-table th{padding:11px 13px}.race-table td{padding:12px 13px}.race-table .place{width:50px;font-size:1rem}.rider-link{text-decoration:none;color:inherit;border-radius:8px}.rider-link:hover .name,.rider-link:focus-visible .name{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}.stage-note{margin-top:18px;border:1px solid #f2dc75;border-radius:12px}.rider-page>.back{display:inline-block;margin-bottom:22px}.rider-hero{display:flex;align-items:center;gap:22px;background:#171717;color:#fff;border-bottom:5px solid var(--yellow);border-radius:18px;padding:28px;box-shadow:var(--shadow)}.rider-number{width:88px;height:88px;display:grid;place-items:center;flex:0 0 auto;border-radius:18px;background:var(--yellow);color:#171717;font-size:2rem;font-weight:950}.rider-hero h1{font-size:clamp(2rem,5vw,4rem);line-height:.95;letter-spacing:-.05em;margin:.35rem 0}.rider-hero p{color:#bdbdbd;margin:0}.rider-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}.rider-stats>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 19px}.rider-stats span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800}.rider-stats strong{display:block;margin-top:5px;font-size:1.45rem}.history-heading{padding:20px}.history-heading span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.history-heading h2{margin:3px 0 0}.history-stage{display:inline-block;padding:5px 9px;border-radius:999px;background:#fff6c3;font-weight:800;font-size:.8rem}
@media(max-width:800px){.race-grid{grid-template-columns:1fr}.round{min-width:155px}.rider-hero{padding:22px}.rider-number{width:70px;height:70px;border-radius:14px}.rider-stats{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.rider-hero{align-items:flex-start;gap:15px}.rider-number{width:58px;height:58px;font-size:1.35rem}.rider-stats{grid-template-columns:1fr}.race-table table{min-width:440px}}

/* Mobile-first race-day layout */
button,a{touch-action:manipulation}
@media(max-width:600px){
 body{background:var(--paper);overflow-x:hidden}
 .brandbar{border-bottom-width:3px}
 .brandbar__inner{min-height:56px;padding:7px max(12px,env(safe-area-inset-right)) 7px max(12px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto 1fr;gap:8px}
 .brand{font-size:0}.brand:last-child{justify-self:end}.brandmark{width:36px;height:36px;font-size:.62rem;border-width:2px}.brandmark.flow{font-size:.65rem}
 .event-title{grid-row:auto;grid-column:auto;padding:0;border:0;white-space:nowrap}.event-title strong{font-size:.92rem}.event-title span{display:none}
 .shell{padding:16px 10px calc(42px + env(safe-area-inset-bottom))}
 .statusline{margin:0 2px 14px;gap:10px;align-items:end}.statusline h1{font-size:2.15rem;line-height:.96}.eyebrow{font-size:.65rem;letter-spacing:.12em}
 .toolbar{padding:10px;border-radius:13px;gap:8px;box-shadow:0 7px 18px rgba(20,20,18,.07)}
 .tabs{gap:7px;margin:0 -2px;padding:0 2px 5px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
 .tab{min-height:44px;padding:10px 14px;border-radius:10px;font-size:.88rem;scroll-snap-align:start}
 .updated{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.7rem;text-align:left}.updated b{font-size:.72rem;white-space:nowrap}
 .racehead{margin:20px 2px 10px;display:block}.racehead h2{font-size:1.65rem}.racehead p{font-size:.84rem;margin-top:2px}
 .round-nav{gap:7px;margin:0 -10px 12px;padding:2px 10px 7px;scroll-padding-left:10px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
 .round{min-width:126px;min-height:54px;flex:0 0 auto;padding:8px 35px 8px 11px;border:1px solid var(--line)!important;border-radius:11px!important;scroll-snap-align:start;justify-content:center}
 .round:not(:last-child):after{display:none}.round .round-step{right:9px;width:24px;height:24px;font-size:.66rem}.round .round-name{padding:0;font-size:.84rem;line-height:1.05}.round small{font-size:.65rem}
 .race-grid,.race-grid.single{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
 .race-table{border-radius:13px;box-shadow:0 6px 16px rgba(20,20,18,.06)}.race-table>header{padding:11px 12px;border-bottom-width:2px}.race-table>header h3{font-size:1rem}.race-table>header span,.race-table>header b{font-size:.66rem}
 .race-table .table-scroll{overflow:visible}.race-table table{width:100%;min-width:0;table-layout:fixed}.race-table th{padding:9px 7px;font-size:.63rem}.race-table td{padding:10px 7px;font-size:.82rem}.race-table th:first-child,.race-table td:first-child{width:39px}.race-table th:last-child,.race-table td:last-child{width:102px;text-align:right}.race-table .place{width:39px;font-size:.9rem}.race-table .rider{gap:7px;min-width:0}.race-table .bib{width:30px;height:27px;flex:0 0 30px;font-size:.75rem}.race-table .rider-link>span:last-child{min-width:0}.race-table .name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.race-table .country{font-size:.66rem}.race-table .time{font-size:.78rem;white-space:nowrap}.race-table .gap{display:block;font-size:.65rem;margin-top:1px}
 .stage-note{margin-top:12px;padding:10px 12px;font-size:.75rem}
 .footer{padding:16px 12px calc(28px + env(safe-area-inset-bottom));font-size:.75rem;gap:5px}
 .rider-page>.back{margin-bottom:14px;min-height:44px;display:inline-flex;align-items:center}.rider-hero{padding:16px;border-radius:13px;gap:13px}.rider-number{width:54px;height:54px;border-radius:11px;font-size:1.25rem}.rider-hero h1{font-size:1.8rem;margin:.2rem 0}.rider-hero p{font-size:.75rem}.rider-stats{grid-template-columns:1fr 1fr;gap:9px;margin:10px 0}.rider-stats>div{padding:12px;border-radius:11px}.rider-stats span{font-size:.65rem}.rider-stats strong{font-size:1rem}.history-heading{padding:14px}.history-heading h2{font-size:1.25rem}.history-card table{min-width:0;table-layout:fixed}.history-card th,.history-card td{padding:9px 6px;font-size:.72rem}.history-card th:nth-child(1){width:25%}.history-card th:nth-child(2){width:30%}.history-card th:nth-child(3){width:20%}.history-card th:nth-child(4){width:25%;text-align:right}.history-card td:last-child{text-align:right}.history-stage{padding:4px 6px;font-size:.65rem}
 .admin-shell{padding:16px 10px calc(40px + env(safe-area-inset-bottom))}.admin-top{margin-bottom:14px}.admin-top h1{font-size:2rem}.back{padding:10px 12px;font-size:.82rem}.panel{border-radius:13px}.panel h2{padding:14px}.event-row{padding:13px 12px;gap:10px}.settings{padding:13px}.btn{min-height:46px}
}

/* Algarve daylight theme: crisp Atlantic contrast with controlled sunny accents */
:root{--ink:#06283d;--muted:#3b5865;--paper:#eef7f4;--card:#ffffff;--line:#9ab8b3;--yellow:#f7c948;--yellow2:#ffe7a0;--red:#c9472b;--green:#08745d;--blue:#006b78;--shadow:none}
body{color:var(--ink);background:#eef7f4}
.brandbar{background:#073b59;border-bottom-color:#e86f2d;box-shadow:none}
.brandmark{border-color:#f7c948;color:#f7c948}.brandmark.flow{background:#f7c948;border-color:#f7c948;color:#073b59}
.event-title span{color:#d6ebef}.eyebrow{color:#006b78}
.live{background:#fff;border:2px solid #08745d;box-shadow:none;color:#075c4b}.dot,.live .dot{background:#00a676;box-shadow:none;border:2px solid #dff6ed}
.toolbar{background:#fff;border:2px solid var(--line);box-shadow:none}
.tab{background:#fff;border:2px solid #7da7a2;color:#06283d;box-shadow:none}.tab:hover,.tab:focus-visible{border-color:#006b78;background:#e7f5f3}.tab.active{background:#073b59;color:#fff;border-color:#073b59;border-bottom-color:#f7c948;box-shadow:none}
.round{background:#fff;border-color:#7da7a2;color:#06283d;box-shadow:none}.round:not(:last-child):after{border-color:#7da7a2}.round:hover{background:#e7f5f3}.round.active{background:#007b83;color:#fff;border-color:#06283d;border-bottom-color:#f7c948;box-shadow:none}.round.active:after{border-color:#06283d}.round.active .round-name{color:#fff}
.race-table,.result-card,.panel,.rider-stats>div{background:#fff;border:2px solid var(--line);box-shadow:none}
.race-table>header,thead{background:#073b59}.race-table>header{border-bottom-color:#f7c948}.race-table>header span,.race-table>header b{color:#d6ebef}
.bib{background:#f7c948;color:#06283d}.podium{background:#fff7dc}tbody tr:hover{background:#eaf7f4}
.note{background:#fff3c7;border-color:#d7a91f;color:#493800}.stage-note{border:2px solid #d7a91f}
.rider-hero{background:#073b59;border-bottom-color:#e86f2d;box-shadow:none}.rider-number{background:#f7c948;color:#073b59}.history-stage{background:#dff2ef;color:#064f58;border:1px solid #79aaa4}
.feed{background:#e4f5ef;color:#075c4b;border:1px solid #69ad9d}.btn{background:#073b59}.btn.yellow{background:#f7c948;color:#06283d}
.footer{color:#294d5d}.footer a{color:#005f69}
@media(max-width:600px){
 .brandbar{box-shadow:none}
 .toolbar{border-radius:12px}
 .tab{font-size:.9rem;min-height:46px}
 .round .round-name{font-size:clamp(.68rem,2.85vw,.82rem);font-weight:850}
 .race-table td{font-size:.86rem}.race-table .name{font-size:.86rem}.race-table .time{font-size:.82rem}
}

/* Fluid selectors: fill every viewport without horizontal overflow */
.shell{width:100%;max-width:none}
.toolbar{grid-template-columns:minmax(0,1fr)}
.tabs{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:8px;overflow:visible;padding:0}
.tab{width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.15}
.updated{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}
.round-nav{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;overflow:visible;padding:0}
.round-nav:has(.round:only-child){display:none}
.round{width:100%;min-width:0;min-height:62px;padding:9px 34px 9px 12px;border-radius:0;white-space:normal;overflow-wrap:anywhere}
.round:first-child{border-radius:12px 0 0 12px}.round:last-child{border-radius:0 12px 12px 0}
.round .round-name{white-space:normal;overflow-wrap:anywhere;line-height:1.08}
.round .round-step,.round small{display:none!important}
.round{align-items:center;justify-content:center;text-align:center;padding:10px 8px}
.round .round-name{padding:0;text-align:center}
.round-nav:has(.round:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:600px){
 .tabs{grid-template-columns:repeat(auto-fit,minmax(min(105px,100%),1fr));gap:6px}
 .updated{font-size:.7rem}.updated b{font-size:.72rem}
 .round-nav{grid-template-columns:repeat(5,minmax(0,1fr))}
 .round{min-height:58px;padding:7px 4px}
 .round .round-name{font-size:clamp(.58rem,2.75vw,.72rem)}
}

/* Full-width tournament banner: no horizontal navigation required */
@media(max-width:600px){
 .tabs{display:flex;flex-wrap:wrap;overflow:visible;gap:6px;margin:0;padding:0}
 .tab{flex:1 1 calc(33.333% - 6px);min-width:0;white-space:normal;line-height:1.1;padding:9px 7px;scroll-snap-align:none}
 .round-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:0;overflow:visible;margin:0 0 12px;padding:0;scroll-snap-type:none}
 .round-nav:has(.round:only-child){grid-template-columns:1fr}
 .round{min-width:0;width:auto;min-height:58px;padding:8px 5px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line)!important;border-right:0!important;border-radius:0!important;scroll-snap-align:none}
 .round:first-child{border-radius:11px 0 0 11px!important}.round:last-child{border-right:1px solid var(--line)!important;border-radius:0 11px 11px 0!important}
 .round:not(:last-child):after{display:block;right:-6px;width:10px;height:10px}
 .round .round-step,.round small{display:none}.round .round-name{padding:0;white-space:normal;overflow-wrap:anywhere;hyphens:auto;font-size:.66rem;line-height:1.05;text-align:center}
 .round.active .round-name{font-weight:950}
 .round-nav:has(.round:only-child) .round{border-right:1px solid var(--line)!important;border-radius:11px!important;font-size:.85rem}
 .round-nav:has(.round:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
 .round .round-name{font-size:clamp(.68rem,2.85vw,.82rem);font-weight:850}
}

/* Compact mobile race selector: all eight events in two rows */
@media(max-width:600px){
 .toolbar{padding:7px;gap:6px}
 .tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;width:100%}
 .tab{width:auto;min-width:0;min-height:42px;padding:6px 3px;border-radius:9px;font-size:clamp(.67rem,2.65vw,.78rem);line-height:1.05;overflow-wrap:normal;word-break:normal}
 .updated{padding:1px 2px 0}
}
.tree-toolbar{display:flex;gap:10px;margin:0 0 18px}.tree-toolbar input{flex:1}.tree{display:grid;gap:12px}.tree-node{border:1px solid #d7e2e3;border-radius:12px;overflow:hidden;background:#fff}.tree-node h2{margin:0;padding:13px 16px;background:#f4f8f7;font-size:1rem}.tree-children{padding:0 16px}.tree-heat{margin:0;padding:12px 0;border-bottom:1px solid #edf1f1;display:grid;grid-template-columns:1fr minmax(180px,auto) auto;gap:8px;align-items:center}.tree-heat:last-child{border-bottom:0}.tree-heat h3{margin:0;font-size:.95rem}.tree-heat p{margin:3px 0 0;font-size:.8rem}.unassigned h2{background:#fff6df}@media(max-width:650px){.tree-toolbar,.tree-heat{display:flex;flex-wrap:wrap}.tree-heat>div{width:100%}}
.object-tree{font-size:1rem}.object-tree .tree-node{border:0;background:transparent;overflow:visible}.object-tree .tree-children{padding-left:30px}.tree-line{display:flex;align-items:center;gap:6px;min-height:30px}.tree-toggle,.tree-add{border:0;background:transparent;color:#263d4f;font-size:1.45rem;line-height:1;cursor:pointer;padding:0 3px}.tree-add{color:#ce32ff;font-weight:700}.event-node>.tree-line span{font-size:1.1rem}.leaf{color:#41586a}.visibility{border:0;background:transparent;color:#627cff;font-size:1rem;cursor:pointer}.assign-box{margin:4px 0 10px;display:flex;gap:6px}.empty-tree{color:#778895;font-size:.9rem}
.unassigned-race{display:flex;gap:8px;align-items:center;padding:8px 0;flex-wrap:wrap}.unassigned-race span{min-width:180px;font-weight:700}.unassigned-race select{flex:1;min-width:220px;padding:7px;border:1px solid var(--line);border-radius:7px}.lap-toggle{border:0;background:#dff2ef;color:#064f58;border-radius:7px;padding:5px 7px;font-weight:800;cursor:pointer}.level-section{margin:20px 0 28px}.level-banner{background:#073b59;color:#fff;border-radius:14px 14px 0 0;border-bottom:4px solid #f7c948;padding:13px 18px}.level-banner span{display:block;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:.68rem;color:#d6ebef}.level-banner h2{margin:2px 0 0;font-size:1.35rem}.level-section .race-grid{padding-top:16px}
.suggestion{font-weight:800;color:#08745d}

/* Public result navigation always fills its container without horizontal scrolling. */
body[data-page="public"] .round-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;overflow:hidden}
body[data-page="public"] .round{min-width:0;width:100%;white-space:normal;overflow-wrap:anywhere}
body[data-page="public"] .tabs{width:100%;overflow:hidden}
body[data-page="public"] .round-nav:has(.round:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
body[data-page="public"] .round-nav:has(.round:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}
body[data-page="public"] .round-nav:has(.round:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}
body[data-page="public"] .round-nav:has(.round:only-child){display:none}
@media(max-width:600px){body[data-page="public"] .round-nav{grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden}body[data-page="public"] .round{min-width:0;white-space:normal;overflow-wrap:anywhere}}

/* Editable admin tree */
.tree-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.tree-actions .rename{width:min(180px,30vw);padding:5px 7px;border:1px solid var(--line);border-radius:6px}.icon{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:6px;min-width:28px;height:28px;cursor:pointer;font-weight:900}.icon.danger{color:#a42b22;border-color:#d89d96}.tree-create{display:flex;gap:8px;padding:12px 0}.tree-create input{flex:1;min-width:0;padding:8px;border:1px solid var(--line);border-radius:7px}.tree-create.compact{padding-left:4px}.object-tree .tree-node{padding:7px 0}.object-tree .tree-children{padding-left:22px}.tree-line{flex-wrap:wrap}.unassigned-race .btn{padding:8px 12px}@media(max-width:700px){.tree-actions{width:100%;margin:4px 0 0 25px}.tree-actions .rename{flex:1;width:auto}.tree-create{margin-left:0}.unassigned-race select{min-width:0;width:100%}}

/* Compact, separated tiles for the editable admin tree. */
#event-list{display:grid;gap:10px}
#event-list>.tree-node{border:1px solid #b9d0cd!important;border-radius:12px!important;background:#fff!important;padding:8px 10px!important;box-shadow:none}
#event-list>.tree-node>.tree-children{padding:5px 4px 2px!important}
#event-list .tree-children>.tree-node{border:1px solid #d7e4e1!important;border-radius:9px!important;background:#fafffe!important;margin:7px 0!important;padding:6px 8px!important}
#event-list .tree-children>.tree-node>.tree-children{padding:4px 6px 1px!important}
#event-list .tree-line{min-height:32px;gap:8px}
#event-list .tree-leaf{padding:6px 4px;border-top:1px solid #edf2f1}
#event-list .tree-create{padding:8px 2px 2px}

/* Admin interface clean-up: calm hierarchy, consistent controls, compact editing. */
.admin-shell{max-width:1440px;padding-top:28px}.admin-top{padding-bottom:18px;margin-bottom:20px;border-bottom:1px solid #c9dcda}.admin-top h1{font-size:clamp(2rem,3.4vw,3.1rem)}.admin-top .back{box-shadow:none}
.admin-shell .grid{grid-template-columns:minmax(0,1fr) 330px;align-items:start}.admin-shell .panel{border-radius:14px;overflow:clip}.admin-shell .panel>h2{padding:15px 18px;background:#f7fbfa;font-size:1rem;letter-spacing:.01em}
#event-list{padding:14px}.tree-node strong{font-size:.95rem}.tree-toggle{width:24px;height:24px;font-size:1.1rem}.tree-actions{gap:5px;padding:2px 0}.tree-actions .rename{height:30px;background:#fff;font-size:.83rem}.icon{height:30px;min-width:30px;transition:background .15s,border-color .15s}.icon:hover{background:#e8f5f2;border-color:#6faaa1}.icon.danger:hover{background:#fff0ed;border-color:#c86f65}
#event-list>.tree-node>.tree-line{padding:2px 1px}#event-list .tree-children>.tree-node>.tree-line{padding:1px 0}.tree-create .btn{min-height:34px;padding:7px 11px;font-size:.8rem}.unassigned-race{border-top:1px solid #e6efed;padding:10px 4px}.unassigned-race:first-child{border-top:0}.unassigned-race .btn{min-height:34px}
.admin-shell .settings{gap:14px}.admin-shell .settings p{margin:0;padding:10px 11px;border-radius:8px;background:#f7fbfa;font-size:.82rem;line-height:1.35}.admin-shell .field label{font-size:.82rem}.admin-shell .field input,.admin-shell .field select{font-size:.84rem}
@media(max-width:900px){.admin-shell .grid{grid-template-columns:1fr}.admin-shell aside.panel{order:-1}}@media(max-width:700px){#event-list{padding:10px}.admin-shell .panel>h2{padding:13px}.tree-actions{margin-left:0;padding-left:30px}.tree-actions .rename{min-width:120px}.admin-top{gap:12px}}

/* Quiet default tree: controls appear only in explicit edit mode. */
#event-list:not(.editing) .tree-actions,#event-list:not(.editing) .tree-create,#event-list:not(.editing) .tree-leaf>.visibility{display:none}
#event-list .tree-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 0 12px;color:var(--muted);font-size:.82rem}
#event-list .tree-toolbar .btn{min-height:34px;padding:7px 12px;white-space:nowrap}
#event-list:not(.editing)>.tree-node{padding:5px 9px!important}
#event-list:not(.editing) .tree-line{min-height:30px}
#event-list:not(.editing) .tree-children>.tree-node{margin:4px 0!important;padding:4px 7px!important}
#event-list:not(.editing) .tree-leaf{padding:4px 2px;color:#53717a;font-size:.82rem}
#event-list.editing .tree-toolbar{border-bottom:1px solid #d9e7e4;margin-bottom:8px}
@media(max-width:700px){#event-list .tree-toolbar{align-items:flex-start;flex-direction:column}#event-list .tree-toolbar .btn{width:100%}}

#event-list:not(.editing) .tree-leaf>.publish-mode{display:none}.publish-mode{margin-left:8px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;font:inherit;font-size:.78rem}


/* Historic rankings stay compact and live only on a rider's personal profile. */
.historical-card{margin:18px 0}.historical-card .history-heading{background:#f7fbfa;border-bottom:1px solid #d8e7e4}.historical-card .history-heading p{margin:5px 0 0;color:var(--muted);font-size:.86rem}.settings-divider{width:100%;height:1px;margin:2px 0;border:0;background:#d9e7e4}.historic-control{display:grid;gap:8px}.historic-control strong{font-size:.88rem}.historic-control p{margin:0!important}.historic-control .btn{width:100%}


/* Rider history: league standings lead, event detail stays secondary. */
.historical-card{margin-top:18px;background:#fff;border:2px solid var(--line);border-radius:16px;overflow:hidden}.league-standing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px;padding:16px}.league-standing{border:1px solid #9ab8b3;border-left:5px solid var(--yellow);border-radius:10px;padding:13px 14px;background:#f7fbfa}.league-standing span{display:block;color:var(--muted);font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.league-standing strong{display:block;font-size:2.15rem;line-height:1;margin:8px 0 5px;color:#073b59}.league-standing sup{font-size:.8rem;margin-left:2px}.league-standing b{font-size:.78rem}.historic-events{border-top:1px solid #d8e7e4}.historic-events summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:14px 18px;font-size:.88rem;font-weight:850;color:#073b59}.historic-events summary span{display:grid;place-items:center;min-width:26px;height:24px;padding:0 7px;border-radius:999px;background:#dff2ef;color:#064f58;font-size:.72rem}.historic-events table{min-width:560px}.historic-events th,.historic-events td{padding:11px 14px}@media(max-width:600px){.league-standing-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;gap:8px}.league-standing{padding:11px 10px}.league-standing strong{font-size:1.65rem}.league-standing b{font-size:.67rem}.historic-events summary{padding:13px}.historic-events .table-scroll{overflow-x:auto}.historic-events table{min-width:470px}}


/* A league card is the control for its season's event history. */
.league-season{border:0;min-width:0}.league-season>summary{list-style:none;cursor:pointer;position:relative}.league-season>summary::-webkit-details-marker{display:none}.league-season .league-standing{min-height:132px;transition:background .15s,border-color .15s}.league-season .league-standing:after{content:'View events';position:absolute;right:12px;bottom:10px;color:#006b78;font-size:.68rem;font-weight:850}.league-season[open] .league-standing{background:#e7f5f3;border-color:#08745d}.league-season[open] .league-standing:after{content:'Hide events'}.league-season summary em{display:none}.league-season .table-scroll{margin-top:8px;border:1px solid #b9d0cd;border-radius:9px;overflow-x:auto;background:#fff}.league-season table{min-width:0;width:100%}.league-season th,.league-season td{padding:9px 11px}.league-season th:last-child,.league-season td:last-child{text-align:right;width:62px}@media(max-width:600px){.league-season .league-standing{min-height:122px}.league-season .table-scroll{margin-top:6px}.league-season table{min-width:0}.league-season th,.league-season td{font-size:.72rem;padding:8px}}


/* OWAR editorial palette: red, white, and graphite with clear race-day contrast. */
:root{--ink:#202124;--muted:#62656a;--paper:#f1f2f3;--card:#fff;--line:#b9bdc2;--yellow:#d71920;--yellow2:#f9d8d9;--red:#d71920;--green:#168557;--blue:#34363a;--shadow:none}
body{background:#f1f2f3;color:#202124}.brandbar{background:#242629;border-bottom:4px solid #d71920}.brandmark{border-color:#fff;color:#fff}.brandmark.flow{background:#d71920;border-color:#d71920;color:#fff}.event-title span{color:#e4e5e6}.eyebrow{color:#9d151b}
.toolbar,.race-table,.result-card,.panel,.rider-stats>div,.historical-card{border-color:#b9bdc2;background:#fff}.tab{border-color:#aeb2b6;background:#fff;color:#202124}.tab:hover,.tab:focus-visible{border-color:#d71920;background:#fff2f2}.tab.active{background:#d71920;border-color:#d71920;color:#fff;border-bottom-color:#9d151b}
.round{border-color:#aeb2b6;background:#fff;color:#202124}.round:not(:last-child):after{border-color:#aeb2b6}.round:hover{background:#fff2f2}.round.active{background:#d71920;border-color:#d71920;color:#fff}.round.active:after{border-color:#d71920}.race-table>header,thead{background:#242629}.race-table>header{border-bottom-color:#d71920}.race-table>header span,.race-table>header b{color:#e4e5e6}.bib,.rider-number{background:#d71920;color:#fff}.rider-hero{background:#242629;border-bottom-color:#d71920}.history-stage{background:#f5f5f5;border-color:#b9bdc2;color:#34363a}.podium{background:#fff0f0}tbody tr:hover{background:#fff5f5}.note{background:#fff0f0;border-color:#e6a0a3;color:#7f1015}.stage-note{border-color:#d71920}.btn{background:#242629}.btn.yellow{background:#d71920;color:#fff}.feed{background:#edf8f2;color:#126845;border-color:#92cbb1}.footer{color:#55585d}.footer a{color:#9d151b}.league-standing{border-color:#b9bdc2;border-left-color:#d71920;background:#fafafa}.league-standing strong{color:#d71920}.league-season[open] .league-standing{background:#fff2f2;border-color:#d71920}.league-season .league-standing:after{color:#9d151b}.historic-events summary span{background:#f9d8d9;color:#9d151b}


/* Official marks should fill the header, without logo tiles. */
.brandbar__inner{max-width:1280px;min-height:76px;padding-top:4px;padding-bottom:4px}.brand-logo{display:block;height:62px;object-fit:contain;flex:0 0 auto}.brand-logo--owa{width:104px;filter:drop-shadow(0 1px 0 rgba(255,255,255,.35))}.brand-logo--flow{width:62px}.event-title{display:flex;align-items:center;justify-content:center;gap:12px}.event-title>div{text-align:center}.event-logo{width:78px;height:62px;object-fit:contain;background:transparent;border-radius:0;padding:0;filter:invert(1) grayscale(1) contrast(1.35)}.brand:first-child{gap:9px}.brand:last-child{gap:9px}@media(max-width:600px){.brandbar__inner{min-height:60px;padding-top:3px;padding-bottom:3px}.brand-logo{height:50px}.brand-logo--owa{width:76px}.brand-logo--flow{width:50px}.event-logo{width:58px;height:50px}.event-title{gap:6px}.event-title>div strong{font-size:.8rem}}

/* A selected season expands vertically within its own card. */
.league-standing-grid{align-items:start}
.league-season[open]{grid-column:auto;display:block}
.league-season[open] .league-standing{min-height:132px}
.league-season[open] .table-scroll{margin-top:8px;min-width:0}
@media(max-width:600px){.league-season[open] .table-scroll{margin-top:6px}}






/* Consistent result columns and compact category setting. */
.race-table table{width:100%;min-width:0;table-layout:fixed}.race-table col.result-pos{width:52px}.race-table col.result-time{width:150px}.race-table th:last-child,.race-table td:last-child{text-align:right}.tree-actions .highlight-control{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:.75rem;font-weight:800;white-space:nowrap}.tree-actions .highlight-control select{width:auto;min-width:46px;height:30px;padding:3px 5px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font:inherit}

/* Keep the official marks at 90% of the visible brand bar. */
.brandbar__inner{min-height:76px;padding-top:4px;padding-bottom:4px}.brand-logo{height:68px}.event-logo{height:68px;width:86px}@media(max-width:600px){.brandbar__inner{min-height:60px;padding-top:3px;padding-bottom:3px}.brand-logo{height:54px}.event-logo{height:54px;width:64px}}

/* Reserve only a five-digit rail for race position; names take the remaining row width. */
.race-table col.result-pos{width:5ch}.race-table th:first-child,.race-table td:first-child{box-sizing:border-box;width:5ch;padding-left:7px;padding-right:7px}.race-table .place{width:5ch}.race-table .rider{width:100%;min-width:0}.race-table .bib{width:5ch;flex:0 0 5ch}

/* Rider record: keep the compact stage badge in its own column. */
.rider-times{width:100%;min-width:0;table-layout:fixed}.rider-times col.rider-time-stage{width:84px}.rider-times col.rider-time-position{width:120px}.rider-times col.rider-time-value{width:150px}.rider-times th+th{border-left:1px solid rgba(255,255,255,.12)}.rider-times td:first-child{padding-right:8px}.rider-times td:nth-child(2){padding-left:8px}.rider-times .history-stage{display:inline-flex;max-width:68px;min-height:34px;align-items:center;justify-content:center;text-align:center;line-height:1.08;overflow-wrap:anywhere}

/* Mobile rider history: one focused season card at a time, with compact event detail. */
@media(max-width:600px){.historical-card{margin-top:14px;border-radius:13px}.historical-card .history-heading{padding:15px 14px}.historical-card .history-heading h2{font-size:1.35rem}.historical-card .history-heading p{font-size:.78rem;line-height:1.35}.league-standing-grid{display:grid;grid-template-columns:1fr;padding:9px;gap:8px}.league-season .league-standing,.league-standing{min-height:0;padding:11px 12px 28px;border-left-width:4px}.league-standing span{font-size:.67rem}.league-standing strong{font-size:1.65rem;margin:5px 0 3px}.league-standing b{font-size:.72rem}.league-season .league-standing:after{right:11px;bottom:9px}.league-season .table-scroll{margin-top:5px;border-radius:8px}.league-season table{min-width:0;width:100%;table-layout:fixed}.league-season th,.league-season td{padding:8px 9px;font-size:.75rem}.league-season th:first-child,.league-season td:first-child{width:auto;overflow-wrap:anywhere}.league-season th:last-child,.league-season td:last-child{width:54px;text-align:right;font-variant-numeric:tabular-nums}.league-season thead{font-size:.64rem}.league-season[open]{grid-column:1}}

/* Extra-compact historic section on phones. */
@media(max-width:600px){.historical-card{margin-top:10px}.historical-card .history-heading{padding:11px 12px}.historical-card .history-heading span{font-size:.62rem}.historical-card .history-heading h2{margin-top:2px;font-size:1.12rem}.historical-card .history-heading p{margin-top:3px;font-size:.7rem}.league-standing-grid{padding:7px;gap:6px}.league-season .league-standing,.league-standing{padding:8px 10px 23px;border-radius:8px}.league-standing span{font-size:.6rem}.league-standing strong{font-size:1.32rem;margin:3px 0 1px}.league-standing sup{font-size:.62rem}.league-standing b{font-size:.64rem}.league-season .league-standing:after{right:9px;bottom:7px;font-size:.58rem}.league-season .table-scroll{margin-top:4px}.league-season th,.league-season td{padding:6px 8px;font-size:.68rem}.league-season th:last-child,.league-season td:last-child{width:48px}.league-season thead{font-size:.58rem}}

/* Historic name lookup is only shown for riders without an automatic match. */
.history-search{margin-top:14px;padding:16px;border:2px solid var(--line);border-radius:13px;background:#fff}.history-search>span{display:block;color:var(--muted);font-size:.67rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.history-search h2{margin:3px 0;font-size:1.25rem}.history-search p{margin:0 0 10px;color:var(--muted);font-size:.82rem}.history-search form{display:flex;gap:8px}.history-search input{min-width:0;flex:1;padding:9px 10px;border:1px solid var(--line);border-radius:8px}.history-search .btn{padding:8px 12px}.historic-match-list{display:grid;gap:5px;margin-top:9px}.historic-match-list button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;text-align:left;cursor:pointer}.historic-match-list button:hover{border-color:var(--red)}.historic-match-list span{color:var(--muted);font-size:.72rem;white-space:nowrap}.historic-search-history .historical-card{margin-bottom:0}@media(max-width:600px){.history-search{margin-top:10px;padding:12px}.history-search h2{font-size:1.08rem}.history-search p{font-size:.72rem}.history-search form{gap:6px}.history-search input{padding:8px;font-size:.78rem}.history-search .btn{padding:8px 10px;font-size:.76rem}.historic-match-list button{padding:8px;font-size:.77rem}}

.match-request-list{display:grid;gap:6px}.match-request{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:#fff;font-size:.76rem}.match-request span{min-width:0;overflow-wrap:anywhere}.match-request div{display:flex;gap:4px;flex:0 0 auto}.match-request .btn{min-height:30px;padding:5px 7px;font-size:.7rem}.decline-match{background:#fff!important;color:#9d151b!important;border-color:#d71920!important}.request-history-match{margin-bottom:8px}@media(max-width:600px){.match-request{align-items:flex-start;flex-direction:column}.match-request div{width:100%}.match-request .btn{flex:1}}

/* Phone category selector: compact three-column grid. */
@media(max-width:600px){.toolbar{display:block;padding:9px}.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;margin:0;padding:0}.tab{min-width:0;min-height:38px;padding:7px 5px;border-radius:9px;font-size:.76rem;line-height:1.08;white-space:normal}.updated{margin-top:8px}}

/* Rider results stay legible within a standard phone viewport. */
@media(max-width:600px){.rider-page{padding-left:10px;padding-right:10px}.rider-page>.back{margin-bottom:12px;padding:9px 11px;font-size:.78rem}.rider-hero{padding:14px;gap:11px;border-radius:12px}.rider-hero h1{font-size:1.7rem}.rider-hero p{font-size:.72rem}.rider-stats{gap:8px;margin:10px 0}.rider-stats>div{padding:10px}.rider-stats span{font-size:.61rem}.rider-stats strong{font-size:1.05rem}.rider-times{min-width:0!important;width:100%;table-layout:fixed}.rider-times col.rider-time-stage{width:58px}.rider-times col.rider-time-position{width:54px}.rider-times col.rider-time-value{width:84px}.rider-times th{padding:8px 5px;font-size:.56rem;letter-spacing:.06em;white-space:normal}.rider-times td{padding:8px 5px;font-size:.72rem;line-height:1.18}.rider-times td:nth-child(2){padding-left:4px;overflow-wrap:anywhere}.rider-times td:nth-child(3),.rider-times td:nth-child(4){font-size:.68rem}.rider-times .history-stage{max-width:52px;min-height:26px;padding:3px 4px;font-size:.56rem;line-height:1.02}.race-table.history-card .history-heading{padding:12px}.race-table.history-card .history-heading span{font-size:.6rem}.race-table.history-card .history-heading h2{font-size:1.16rem}}

/* Site-wide language picker. */
.translate-control{position:fixed;z-index:200;right:12px;bottom:12px;display:flex;align-items:center;gap:6px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.96);box-shadow:0 4px 14px rgba(0,0,0,.13);color:var(--ink);font-size:.7rem;font-weight:800}.translate-control select{max-width:120px;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.translate-control .goog-te-gadget{font-size:0}.translate-control .goog-te-gadget span{display:none}.translate-control .goog-te-combo{margin:0;font-size:.72rem}@media(max-width:600px){.translate-control{right:7px;bottom:7px;padding:5px 6px;font-size:.62rem}.translate-control select{max-width:96px}.translate-control .goog-te-combo{font-size:.66rem}}

/* Footer language selector: available but never overlays results. */
.footer .translate-control{position:static;display:flex;align-items:center;gap:6px;margin:0 auto;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:.7rem;font-weight:800;box-shadow:none}.footer .translate-control select{max-width:150px;border:0;background:transparent;color:var(--ink);font:inherit;cursor:pointer}.footer .translate-control .goog-te-gadget{font-size:0}.footer .translate-control .goog-te-gadget span{display:none}.footer .translate-control .goog-te-combo{margin:0;font-size:.72rem}@media(max-width:600px){.footer{flex-wrap:wrap;justify-content:center;gap:10px;text-align:center}.footer .translate-control{flex-basis:auto;margin:0;font-size:.64rem}.footer .translate-control select{max-width:125px}.footer .translate-control .goog-te-combo{font-size:.66rem}}

/* Mobile language picker: full-width and easy to tap. */
@media(max-width:600px){.footer .translate-control{flex:1 0 100%;justify-content:center;min-height:44px;margin-top:2px;padding:7px 10px;border-color:#242629;border-radius:10px;background:#242629;color:#fff}.footer .translate-control>span{font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.footer .translate-control .goog-te-combo{width:154px;min-height:30px;margin:0;padding:4px 7px;border:1px solid #b9bdc2;border-radius:6px;background:#fff;color:#202124;font-size:.76rem;font-weight:750}.footer .translate-control select{max-width:none}}


/* Public rider finder: keeps a personal profile one short search away. */
.toolbar{grid-template-columns:minmax(0,1fr) minmax(210px,260px) auto;align-items:end}.rider-search{position:relative;z-index:20}.rider-search label{display:block;margin:0 0 5px;color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.rider-search input{width:100%;height:39px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit;font-size:.83rem}.rider-search input:focus{outline:2px solid rgba(215,25,32,.25);outline-offset:1px;border-color:var(--red)}.rider-search-results{position:absolute;top:100%;right:0;left:0;max-height:250px;margin-top:5px;overflow-y:auto;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.16)}.rider-search-results[hidden]{display:none}.rider-search-results a,.rider-search-results p{display:block;margin:0;padding:10px 11px;border-bottom:1px solid #ecebe5;color:var(--ink);font-size:.83rem;font-weight:750;text-decoration:none}.rider-search-results a:last-child{border-bottom:0}.rider-search-results a:hover,.rider-search-results a:focus-visible{background:#fff0f0;color:#9d151b}.rider-search-results p{color:var(--muted);font-weight:600}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:760px){.toolbar{grid-template-columns:1fr}.rider-search{margin-top:2px}.rider-search label{margin-bottom:4px}.rider-search input{height:37px}.rider-search-results{max-height:210px}.updated{text-align:left}}@media(max-width:600px){.rider-search{margin-top:9px}.rider-search label{font-size:.62rem}.rider-search input{height:35px;padding:7px 9px;font-size:.78rem}.rider-search-results a,.rider-search-results p{padding:9px 10px;font-size:.78rem}}


/* Header rider finder: a compact control in place of the former live badge. */
.statusline .rider-search--header{position:relative;z-index:40;flex:0 0 auto;margin:0}.rider-search-toggle{width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid #9d151b;border-radius:50%;background:#d71920;color:#fff;font-size:1.6rem;font-weight:800;line-height:1;cursor:pointer}.rider-search-toggle:hover,.rider-search-toggle:focus-visible{background:#9d151b;outline:2px solid rgba(215,25,32,.3);outline-offset:2px}.rider-search-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(285px,calc(100vw - 28px));padding:11px;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 10px 24px rgba(0,0,0,.16)}.rider-search-popover[hidden]{display:none}.rider-search-popover label{display:block;margin:0 0 5px;color:var(--muted);font-size:.68rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.rider-search-popover input{width:100%;height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:.83rem}.rider-search-popover input:focus{outline:2px solid rgba(215,25,32,.25);outline-offset:1px;border-color:var(--red)}.rider-search-popover .rider-search-results{position:static;width:100%;max-height:250px;margin-top:6px}.toolbar{grid-template-columns:minmax(0,1fr) auto;align-items:end}@media(max-width:760px){.statusline .rider-search--header{margin:0}.rider-search-toggle{width:38px;height:38px;font-size:1.4rem}.toolbar{grid-template-columns:1fr}}@media(max-width:600px){.statusline .rider-search--header{margin:0 0 2px}.rider-search-popover{right:-2px;width:min(280px,calc(100vw - 24px));padding:10px}.rider-search-toggle{width:36px;height:36px;font-size:1.3rem}}


/* Registration and timing-chip details. */
.chip-admin{margin-top:20px}.chip-admin textarea{width:100%;resize:vertical;min-height:76px;padding:10px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}.chip-rider-list{display:grid;gap:7px;max-height:540px;overflow:auto;padding-right:2px}.chip-rider-row{display:grid;grid-template-columns:minmax(150px,1fr) 145px minmax(120px,.7fr) auto;align-items:center;gap:8px;padding:9px;border:1px solid var(--line);border-radius:9px;background:#fff}.chip-rider-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}.chip-rider-row select,.chip-rider-row input{min-width:0;height:34px;padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:inherit;font-size:.8rem}.chip-rider-row .btn{min-height:34px;padding:6px 10px;font-size:.77rem}.chip-card{display:flex;justify-content:space-between;gap:18px;margin:0 0 18px;padding:17px 19px;border:2px solid var(--line);border-left:6px solid #777;border-radius:14px;background:#fff}.chip-card--registered{border-left-color:#168557;background:#f2fbf6}.chip-card span{display:block;color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.chip-card h2{margin:3px 0;font-size:1.25rem}.chip-card p{margin:0;color:var(--muted);font-size:.86rem;white-space:pre-line}.chip-card__detail{text-align:right}.chip-card__detail strong{display:inline-block;margin:2px 0 7px;padding:8px 11px;border-radius:8px;background:#242629;color:#fff;font-variant-numeric:tabular-nums}.chip-card__detail p{max-width:440px}@media(max-width:700px){.chip-rider-row{grid-template-columns:1fr 1fr}.chip-rider-row strong{grid-column:1/-1}.chip-rider-row .btn{width:100%}}@media(max-width:600px){.chip-card{display:block;margin-bottom:11px;padding:13px;border-radius:11px}.chip-card h2{font-size:1.08rem}.chip-card p{font-size:.76rem}.chip-card__detail{text-align:left;margin-top:10px}.chip-card__detail strong{font-size:.82rem}.chip-rider-list{max-height:460px}.chip-rider-row{gap:6px;padding:8px}.chip-rider-row select,.chip-rider-row input{font-size:.74rem}}
