/* Carry homepage action buttons through the site, without restyling the phone,
   navigation tabs, pagination, or specialised icon controls. */
html:not(.dm-embedded):not(.nck-public-home) #main :is(button,.button):not(.dm-phone *):not(.tabs *):not(.identity-tabs *):not(.identity-page-tabs *):not([role=tab]):not(.championship-page-tabs *):not(.race-class-selector *):not(.event-step-tabs *):not(.admin-tabs *):not(.admin-section-nav *):not(.track-pagination-controls *):not(.home-page-navigation *):not(.timing-controls *):not(.close):not([aria-label="Close dialog"]):not(.menu){border-radius:9px 0 9px 0;font-family:var(--font-body,'Segoe UI',Arial,sans-serif);font-style:normal;letter-spacing:.05px;box-shadow:none}
html:not(.dm-embedded):not(.nck-public-home) #main :is(.actions>.button,.actions>button,button.primary,.button.primary,form>button[type=submit]):not(.dm-phone *):not(.tabs *):not(.identity-tabs *):not(.identity-page-tabs *):not([role=tab]){min-height:40px;padding:11px 16px;line-height:1.35}
html:not(.dm-embedded):not(.nck-public-home) #main :is(button.primary,.button.primary){transition:background-color .18s ease,border-color .18s ease}
html:not(.dm-embedded):not(.nck-public-home) #main :is(button.primary,.button.primary):hover:not(:disabled){filter:brightness(1.08)}
html:not(.dm-embedded) #main :is(button,.button):focus-visible{outline:2px solid #8aceff;outline-offset:3px}
/* Keep the familiar readable type in the purchasing form. */
#main .public-hosting-page .hosting-plan{font-family:var(--font-body,'Segoe UI',Arial,sans-serif);font-size:14px;line-height:1.6}
#main .public-hosting-page .hosting-plan :is(h2,h3){font-family:var(--font-body,'Segoe UI',Arial,sans-serif);font-style:normal;font-weight:700;text-transform:none;letter-spacing:0;line-height:1.4}
#main .public-hosting-page .hosting-form-section>h3{font-size:18px;margin:0 0 20px}
#main .public-hosting-page .hosting-form-section{padding-top:28px;padding-bottom:28px}
#main .public-hosting-page .hosting-form-section+ .hosting-form-section{border-top:1px solid #303a43}
#main .public-hosting-page .hosting-plan label{font-size:14px;line-height:1.5;margin-top:18px;margin-bottom:14px}
#main .public-hosting-page .hosting-choice{gap:12px;margin-top:0;margin-bottom:24px}
#main .public-hosting-page .hosting-choice label{padding:15px 16px;min-height:52px;margin:0;font-size:14px;line-height:1.45}
#main .public-hosting-page .hosting-plan :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-family:var(--font-body,'Segoe UI',Arial,sans-serif);font-size:14px;line-height:1.45;min-height:46px;margin-top:8px}
#main .public-hosting-page .hosting-plan :is(.form-help,.notice){font-size:13px;line-height:1.7;margin-top:10px;margin-bottom:18px}
#main .public-hosting-page .hosting-plan-review .hosting-live-price{line-height:1.5;gap:12px;align-items:baseline;margin:0 0 20px}
#main .public-hosting-page .hosting-live-price strong{font-family:var(--font-body,'Segoe UI',Arial,sans-serif);font-size:28px;font-weight:750;letter-spacing:0}
#main .public-hosting-page .preview-included-line{font-size:14px;line-height:1.7;margin-bottom:8px}
#main .public-hosting-page .hosting-owned :is(p,small,.form-help){line-height:1.6}
@media(max-width:700px){
 #main .public-hosting-page .hosting-form-section{padding-top:23px;padding-bottom:23px}
 #main .public-hosting-page .hosting-form-section>h3{font-size:17px;margin-bottom:16px}
 #main .public-hosting-page .hosting-plan :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){font-size:16px}
}
@media(prefers-reduced-motion:reduce){html:not(.dm-embedded) #main :is(button.primary,.button.primary){transition:none}}



/* Shared shell actions sit outside #main: match the homepage on every route. */
html body>footer.preview-footer .preview-footer-top>.button,
html body>button.dm-phone-launcher{border-radius:9px 0 9px 0;font-family:var(--font-body,'Segoe UI',Arial,sans-serif);font-style:normal;letter-spacing:.05px;box-shadow:none}
html body>footer.preview-footer .preview-footer-top>.button.primary{background:#0092ff;border:1px solid #0092ff;color:#fff;line-height:1.35}
html body>footer.preview-footer .preview-footer-top>.button.primary:hover{background:#168fe5;border-color:#6ac5ff}
html body>footer.preview-footer .preview-footer-top>.button:focus-visible,
html body>button.dm-phone-launcher:focus-visible{outline:2px solid #8aceff;outline-offset:3px}

/* Race-entry withdrawal action. */
#main button[data-action="entry-withdraw"]{background:#b8323e;border-color:#d44753;color:#fff}
#main button[data-action="entry-withdraw"]:hover:not(:disabled){background:#a02632;border-color:#eb6570;color:#fff}
#main button[data-action="entry-withdraw"]:disabled{opacity:.5;cursor:not-allowed}

/* Compact live status beside each of the three shared race tiles. */
#race-strip .upcoming-strip button{grid-template-columns:minmax(0,1fr) 140px!important;column-gap:14px!important}
#race-strip .upcoming-strip button .top-race-status{grid-column:2;grid-row:1 / 4;align-self:center;text-align:right;white-space:normal;min-width:0;font-family:var(--font-body,'Segoe UI',Arial,sans-serif)}
#race-strip .top-race-status-label{display:block;color:#a8b7c5;font-size:12px;font-weight:600;line-height:1.4}
#race-strip .top-race-status-label.is-live{color:#75dda0}
#race-strip .top-race-status-time{display:block;color:#eef5fb;font-size:13px;font-weight:700;line-height:1.5;margin-top:5px;font-variant-numeric:tabular-nums}
#race-strip .upcoming-strip button .strip-race-time b{grid-column:1}
@media(min-width:701px) and (max-width:1150px){#race-strip .upcoming-strip button{grid-template-columns:minmax(0,1fr) 115px!important;column-gap:8px!important;padding-right:10px;padding-left:10px}#race-strip .upcoming-strip button>span:first-child strong{font-size:24px}}
@media(max-width:700px){#race-strip .upcoming-strip button{grid-template-columns:minmax(0,1fr) 118px!important;column-gap:10px!important}#race-strip .top-race-status-time{font-size:12px}}

#race-strip .top-race-count-prefix{display:block;font-size:11px;font-weight:500;color:#afbdca}
#race-strip .top-race-count-value{display:block;white-space:nowrap}

/* Readable management headings and organization details. */
html body #main [data-race-hosting-access],html body #main .hosting-my-servers{font-family:var(--font-body,'Segoe UI',Arial,sans-serif);font-size:14px;line-height:1.6}
html body #main [data-race-hosting-access] .panel-title h2,html body #main .hosting-my-servers .panel-title h2{font-family:var(--font-body,'Segoe UI',Arial,sans-serif)!important;font-size:18px!important;font-weight:700;letter-spacing:.02em!important;line-height:1.4!important}
html body #main [data-race-hosting-access] .race-host-access-identity h3,html body #main .hosting-organization-summary strong{font-family:var(--font-body,'Segoe UI',Arial,sans-serif)!important;font-size:19px!important;font-style:normal!important;letter-spacing:0!important;line-height:1.5!important}
html body #main [data-race-hosting-access] .eyebrow,html body #main .hosting-organization-summary small,html body #main .hosting-organization-code{font-family:var(--font-body,'Segoe UI',Arial,sans-serif)!important;font-size:12px!important;line-height:1.5!important;letter-spacing:.04em!important}
.hosting-ping-check{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.hosting-ping-check small{font-size:12px;line-height:1.5;color:#b8cddd}

/* Schedule typography must not inherit route-specific body/button styles. */
html body #race-strip .upcoming-strip button{font-family:'Segoe UI',Arial,sans-serif;font-size:13px;font-style:normal;font-weight:550;line-height:1.2;letter-spacing:.05px}
html body #race-strip .upcoming-strip .top-race-status{font-family:'Segoe UI',Arial,sans-serif}

/* The entire race card opens its event; no extra details button is needed. */
html body #race-strip .upcoming-strip{min-height:0;padding:8px 0}
html body #race-strip .upcoming-strip button{grid-template-rows:16px minmax(32px,auto)!important;min-height:72px;row-gap:4px!important}
html body #race-strip .upcoming-strip button>span.blue{display:none!important}
html body #race-strip .upcoming-strip button .top-race-status{grid-row:1 / 3}

/* Expired cards already say Expired; omit their redundant red status dot. */
.home-server-row.server-lease-expired .home-server-main>.status-dot{visibility:hidden}

/* Vector arrows cannot turn into colored iOS emoji glyphs. */
.nck-line-arrow{display:inline-block;width:1em;height:1em;min-width:1em;flex:none;vertical-align:middle;pointer-events:none;overflow:visible}

/* Event registration uses the same control height as adjacent event actions. */
html:not(.dm-embedded):not(.nck-public-home) #main .race-registration-actions{align-items:center}
html:not(.dm-embedded):not(.nck-public-home) #main .race-registration-actions :is(select,button){box-sizing:border-box;height:40px;min-height:40px;width:120px;min-width:120px;padding:0 16px;margin:0;line-height:1.35;align-self:center}
