.mobile-layout-switch,.mobile-race-navigation,.mobile-race-extras,.mobile-race-results { display:none; }
@media (max-width:680px), (max-width:1000px) and (max-height:600px) and (orientation:landscape) {
    body:has(.mobile-races-enabled) .brand strong { font-size:23px; }
    body:has(.mobile-races-enabled) .brand-logo { width:72px; height:38px; }
    body:has(.mobile-races-enabled) .brand-logo img { width:64px; }
    body:has(.mobile-races-enabled) .nav-shell { gap:10px; }
    body:has(.mobile-races-enabled) .context-help-button { padding:8px; font-size:10px; }
    .event-page .mobile-layout-switch { display:block; margin:12px auto; min-height:36px; padding:6px 12px; border:1px solid var(--line); background:var(--cream); color:var(--ink); font:12px var(--body); cursor:pointer; }
    .mobile-races-enabled .event-hero { padding:20px 0 44px; }
    .mobile-races-enabled .championship-hero__layout { display:flex; flex-direction:column; align-items:stretch; gap:14px; }
    .mobile-races-enabled .championship-hero__content { min-width:0; }
    .mobile-races-enabled .championship-hero__content h1 { font-size:28px; line-height:1.1; margin:14px 0; overflow-wrap:anywhere; }
    .mobile-races-enabled .championship-hero__content .eyebrow { margin-top:16px; }
    .mobile-races-enabled .championship-hero__content p { font-size:13px; line-height:1.5; margin-bottom:0; }
    .mobile-races-enabled .back-link { max-width:100%; white-space:normal; }
    .mobile-races-enabled .mobile-race-extras { display:block; border-top:1px solid #ffffff50; padding-top:10px; }
    .mobile-race-extras summary { min-height:44px; padding:10px 0; cursor:pointer; font-size:13px; color:white; }
    .mobile-race-extras .championship-poster { display:block; width:120px; margin:12px 0; }
    .mobile-race-extras .event-hero-trackmap { max-width:100%; margin-top:16px; }
    .mobile-races-enabled .event-hero-navigation { bottom:6px; top:auto; transform:none; width:44px; height:32px; }
    .mobile-races-enabled .event-hero-navigation::before { width:14px; height:14px; border-width:5px; }
    .mobile-races-enabled .race-weekend > * { min-width:0; max-width:100%; }
    .mobile-races-enabled [data-race-tabs] { display:flex; overflow-x:auto; scroll-padding-inline:12px; scrollbar-width:thin; margin:16px 12px 24px; box-shadow:none; width:calc(100% - 24px); overscroll-behavior-x:contain; }
    .mobile-races-enabled [data-race-tabs] .race-tabs__tab { flex:0 0 auto; min-height:44px; padding:0 12px; font-size:10px; border-bottom:3px solid transparent; }
    .mobile-races-enabled [data-race-tabs] .race-tabs__tab.is-active { border-bottom-color:var(--gold); background:var(--green,#3f4f2f); color:white; }
    .mobile-races-enabled .results-panel > header { padding:18px 16px; }
    .mobile-races-enabled .results-panel > header h2 { font-size:25px; line-height:1.15; overflow-wrap:anywhere; }
    .mobile-races-enabled .mobile-race-results { display:block; padding:0 12px 16px; }
    .mobile-race-results > p { font-size:12px; color:var(--ink-soft); }
    .mobile-race-results > details { border-top:1px solid var(--line); }
    .mobile-race-results > details > summary { display:grid; grid-template-columns:20px 30px minmax(0,1fr) 54px 64px; align-items:center; gap:7px; min-height:58px; padding:10px 0; cursor:pointer; }
    .mobile-result-name { font-size:13px; font-weight:700; overflow-wrap:anywhere; }
    .mobile-result-gap { font-size:12px; font-variant-numeric:tabular-nums; }
    .mobile-race-results > details > summary::after { content:'Details +'; grid-column:3 / -1; font-size:10px; color:var(--ink-soft); }
    .mobile-race-results > details[open] > summary::after { content:'Details -'; }
    .mobile-race-results dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; padding:0; font-size:12px; }
    .mobile-race-results dt { color:var(--ink-soft); }
    .mobile-race-results dd { margin:5px 0 0; overflow-wrap:anywhere; font-weight:600; }
    .mobile-race-results dd small { display:block; }
    .mobile-race-results .result-driver-cell,.mobile-race-results .car-cell { display:block; }
    .mobile-results-full { min-height:44px; padding:8px 16px; margin-top:12px; background:var(--green,#3f4f2f); color:white; border:0; cursor:pointer; }
    .mobile-races-enabled .mobile-result-original:not(.mobile-full-table) { display:none; }
    .mobile-races-enabled .race-analysis-panel header { flex-direction:column; align-items:stretch; gap:12px; }
    .mobile-races-enabled .race-analysis-panel header > * { min-width:0; max-width:100%; }
    .mobile-races-enabled .race-analysis-panel { padding-inline:14px; }
    .mobile-races-enabled .race-analysis-title--linked { flex-direction:column; align-items:stretch; gap:12px; }
    .mobile-races-enabled .race-analysis-title--linked > * { min-width:0; max-width:100%; white-space:normal; }
    .mobile-races-enabled .race-report__header { padding:24px 18px; }
    .mobile-races-enabled .race-report__header h2 { font-size:30px; line-height:1.12; }
    .mobile-races-enabled .race-report__body { padding:24px 18px; font-size:16px; line-height:1.65; }
}

@media (max-width:680px) {
    .mobile-race-results > details > section { padding:12px 0; border-top:1px solid var(--line); }
    .mobile-race-results h4 { margin:0 0 12px; color:var(--ink-soft); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
    .mobile-race-results .mobile-result-identity dl { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .mobile-race-results .mobile-result-progress dl { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .mobile-race-results .mobile-result-progress dd { font-size:17px; }
    .mobile-race-results .position-change { font-size:12px; white-space:nowrap; }
    .mobile-race-results .mobile-result-progress dt { font-size:10px; }
    .mobile-result-skin { margin-top:6px; font-weight:400; }
    .mobile-result-skin summary { min-height:30px; padding:4px 0; font-size:11px; cursor:pointer; }
}
@media (max-width:1000px) and (max-height:600px) and (orientation:landscape) {
    .mobile-races-enabled .mobile-race-results { display:none; }
    .mobile-races-enabled .mobile-result-original:not(.mobile-full-table) { display:block; }
    .mobile-races-enabled .results-table { border-collapse:separate; border-spacing:0; }
    .mobile-races-enabled .results-table .mobile-pin-position { position:sticky; left:0; min-width:48px; width:48px; box-sizing:border-box; z-index:2; background:var(--class-color,var(--cream)); }
    .mobile-races-enabled .results-table .mobile-pin-driver { position:sticky; left:var(--mobile-pin-offset,48px); min-width:180px; max-width:220px; z-index:2; background:var(--class-color,var(--cream)); box-shadow:3px 0 5px #0002; white-space:normal; }
    .mobile-races-enabled .results-table th.mobile-pin-position,.mobile-races-enabled .results-table th.mobile-pin-driver { background:#eae0cd; z-index:3; }
    .mobile-races-enabled .results-table td { padding:10px 12px; }
    .mobile-races-enabled .results-table .driver-portrait--result { width:30px; height:30px; }
}
@media (max-width:680px) {
    .mobile-result-portrait .driver-portrait { display:grid; place-items:center; width:30px; height:30px; min-width:30px; font-size:14px; border-radius:50%; overflow:hidden; }
    .mobile-result-portrait img { width:100%; height:100%; object-fit:cover; }
    .mobile-result-car { display:block; width:54px; }
    .mobile-result-car img { display:block; width:54px; height:32px; object-fit:contain; border-radius:4px; background:#111; }
    .mobile-result-gap { font-size:11px; white-space:nowrap; text-align:right; }
}
@media (max-width:370px) {
    .mobile-race-results > details > summary { grid-template-columns:18px 26px minmax(0,1fr) 42px 60px; gap:5px; }
    .mobile-result-portrait .driver-portrait { width:26px; height:26px; min-width:26px; }
    .mobile-result-car,.mobile-result-car img { width:42px; }
    .mobile-result-car img { height:27px; }
    .mobile-result-name { font-size:12px; }
    .mobile-result-gap { font-size:10px; }
}