/* Self-hosted: uses locally available system fonts; no external font request. */
:root{--bg:#0b1016;--bg2:#131b23;--panel:#171f29;--line:#293340;--white:#f5f6f8;--muted:#8795a6;--red:#f13439;--green:#34e6ad}
*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--white);font-family:system-ui,-apple-system,'Segoe UI',Arial,sans-serif;overflow:hidden}
button{font-family:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:2px solid #fac655}#app{display:flex;flex-direction:column;height:100dvh;min-height:420px}
.header{height:67px;flex:none;background:#101720;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #24303d;padding:0 25px;gap:15px}
.brand{display:flex;align-items:center;gap:14px}.brandmark{font-family:'Arial Narrow',Impact,system-ui,sans-serif;font-weight:900;font-style:italic;font-size:39px;letter-spacing:-3px;color:#fff;line-height:1}.slash{color:#f03136;margin:0 2px;font-style:normal}.brand strong{display:block;font-family:'Arial Narrow',Impact,system-ui,sans-serif;font-size:22px;font-weight:900;letter-spacing:1px;line-height:1}.accent{color:var(--red)}.brand small{color:#aab8c5;font-size:9px;letter-spacing:1.6px;font-weight:800}.header-meta{display:flex;align-items:center;gap:19px}.live{font:800 11px system-ui;color:#a5e6cb;letter-spacing:1px}.live i{display:inline-block;width:7px;height:7px;background:#00de83;border-radius:50%;box-shadow:0 0 10px #00e67b;margin-right:5px}.head-clock{font-family:'Arial Narrow',Impact,system-ui,sans-serif;font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}.darkbtn{background:#1b2632;color:#fff;border:1px solid #344353;padding:6px 12px;border-radius:6px;font-size:15px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 326px;min-height:0;flex:1}.race-col{display:flex;flex-direction:column;min-width:0;background:#0e171e}.scene-top{height:62px;padding:0 21px;display:flex;align-items:center;justify-content:space-between;background:#17212b;border-bottom:1px solid #2b3643;flex:none}.session{display:flex;align-items:center;gap:11px}.flag{font-size:22px}.session strong{font:800 18px 'Arial Narrow',Impact,system-ui,sans-serif;letter-spacing:.75px;display:block}.session small{font-size:9px;letter-spacing:1px;font-weight:700;color:#91a1af;display:block;margin-top:2px}.session-right{display:flex;align-items:center;gap:16px;font:700 12px 'Arial Narrow',Impact,system-ui,sans-serif;letter-spacing:1px}.badge{background:#ef3037;padding:6px 10px;border-radius:2px;color:white}.weather{color:#d9e7f1}
.scene{position:relative;flex:1;min-height:0;overflow:hidden;background:#477442;isolation:isolate}#race{position:absolute;inset:0;width:100%;height:100%;display:block}.scene-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom,rgba(3,10,15,.37) 0%,transparent 25%,transparent 70%,rgba(2,8,14,.53) 100%)}
.left-broadcast{position:absolute;top:17px;left:17px;background:rgba(9,17,23,.87);border-left:3px solid var(--red);padding:10px 15px;backdrop-filter:blur(8px);min-width:225px;box-shadow:0 7px 25px #0004}.broadcast-header{font:800 15px 'Arial Narrow',Impact,system-ui,sans-serif;letter-spacing:1.5px}.broadcast-header span{float:right;color:#ff6565;font-size:11px}.broadcast-event{color:#becdda;font-size:10px;letter-spacing:.3px;margin-top:4px;font-weight:600}#track-label{position:absolute;bottom:75px;left:18px;font:700 10px system-ui;color:white;text-shadow:0 1px 4px #000;letter-spacing:.7px;opacity:.75}
.scene-tools{position:absolute;bottom:82px;right:16px;display:flex;gap:5px}.scene-tools button{background:rgba(6,16,25,.85);border:1px solid #ffffff33;border-radius:4px;padding:11px 13px;color:#fff;font-weight:800;font-size:13px;backdrop-filter:blur(6px)}.scene-tools button:hover{background:#213746}.scene-tools button span{font-size:11px;letter-spacing:.8px}
.map-frame{position:absolute;top:16px;right:16px;width:192px;height:150px;background:rgba(11,21,27,.89);border:1px solid #ffffff55;box-shadow:0 8px 28px #0007;border-radius:3px;overflow:hidden}.map-frame canvas{height:100%;width:100%;display:block}.map-frame span{position:absolute;top:8px;left:9px;font:800 9px system-ui;letter-spacing:1px;color:#a4b6c5}
.scene-footer{position:absolute;bottom:0;left:0;right:0;height:60px;background:rgba(8,17,25,.92);display:flex;align-items:center;gap:12px;padding:0 20px;border-top:1px solid #ffffff30}.flagdot{width:5px;height:32px;background:#f13a3d}.scene-footer b{font:800 20px 'Arial Narrow',Impact,system-ui,sans-serif;letter-spacing:.6px}.scene-footer>span{color:#93a6b5;font-size:10px;font-weight:700;letter-spacing:.75px}.scene-footer>div:last-child{margin-left:auto;font:800 30px 'Arial Narrow',Impact,system-ui,sans-serif;color:#fff;font-variant-numeric:tabular-nums}.scene-footer>div:last-child small{font-size:12px;color:#a0b5c5}
.status{height:36px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#131d27;border-top:1px solid #36424b;color:#7f92a2;font-size:10px;font-weight:600;letter-spacing:.2px;gap:10px}.status b{color:#cddae7}.status-dot{width:6px;height:6px;background:#3cdd95;display:inline-block;border-radius:50%;margin-right:5px}
.sidebar{background:var(--panel);display:flex;flex-direction:column;border-left:1px solid #33404f;min-height:0}.sidebar-head{height:71px;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border-bottom:1px solid var(--line)}.sidebar-head small,.sectionhead small{font:800 10px system-ui;letter-spacing:1px;color:var(--red);display:block}.sidebar-head strong,.sectionhead strong{font:900 25px 'Arial Narrow',Impact,system-ui,sans-serif;letter-spacing:1.3px;line-height:1.2}.sidebar-head>span{font:800 13px 'Arial Narrow',Impact,system-ui,sans-serif;color:#b9c9d5}
.table-head{display:grid;grid-template-columns:31px 1fr 66px 35px;gap:4px;align-items:center;font:700 9px system-ui;color:#8396aa;letter-spacing:.6px;padding:10px 14px 8px;background:#121923}
.table-head span:nth-child(3){text-align:right}.table-head span:last-child{text-align:center}
.standings{flex:1;min-height:110px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#445162 transparent}.standing{display:grid;grid-template-columns:31px 1fr 66px 35px;align-items:center;gap:4px;padding:10px 14px;border-bottom:1px solid #283541;min-height:52px}.standing.ours{background:linear-gradient(90deg,#ee34331b,transparent)}.standing.selected{border-left:3px solid #f3353c;padding-left:11px;background:#25323d}.rank{font:900 20px 'Arial Narrow',Impact,system-ui,sans-serif;color:#d9e4ed}.standing .driver{display:flex;gap:8px;min-width:0;align-items:center}.teamcolor{display:block;flex:none;width:3px;height:26px;border-radius:1px}.driver b{font:700 12px system-ui;display:block;white-space:nowrap}.driver small{font-size:9px;color:#718797;white-space:nowrap}.gap{font:800 12px 'Arial Narrow',Impact,system-ui,sans-serif;letter-spacing:.2px;text-align:right;font-variant-numeric:tabular-nums}.tyre-icon{border:2px solid #f3f4f5;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font:900 10px system-ui;color:#fff}.tyre-icon.SOFT{border-color:#f53c45;color:#ff4b52}.tyre-icon.MEDIUM{border-color:#f5ce40;color:#f5ce40}.tyre-icon.HARD{border-color:#f4f4f4;color:#f4f4f4}
.strategy{padding:14px 15px 18px;border-top:2px solid #ed373a;background:#1c2530;flex:none}.sectionhead{display:flex;align-items:center;justify-content:space-between}.sectionhead strong{font-size:23px}.team-pill{border:1px solid #e6393e55;color:#f37b7f;font-size:9px;padding:6px;font-weight:800;border-radius:3px}.driverswitch{display:flex;gap:4px;margin:13px 0}.driverswitch button{flex:1;padding:10px 5px;border:1px solid #394858;background:#17222e;color:#95a8b7;font:800 12px 'Arial Narrow',Impact,system-ui,sans-serif;letter-spacing:.5px;border-radius:4px}.driverswitch button.active{color:#fff;background:#ba2930;border-color:#eb484e}
.driver-card{border:1px solid #344351;background:#111c26;border-radius:4px;padding:11px}.driver-row{display:flex;align-items:center;justify-content:space-between}.driver-row small,.metrics small{display:block;color:#8097a9;font-size:9px;letter-spacing:.65px;font-weight:800}.driver-row h2{margin:2px 0 0;font:900 25px 'Arial Narrow',Impact,system-ui,sans-serif}.driver-row h2 span{font:900 14px 'Arial Narrow',Impact,system-ui,sans-serif;color:#fc555b;margin-left:8px}.tire-soft{border:4px solid #f4444b;color:#f4444b;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-weight:900}.tire-soft.medium{color:#ffdf51;border-color:#ffdf51}.tire-soft.hard{color:#f8fbff;border-color:#f8fbff}.metrics{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:12px}.metrics strong{font:800 18px 'Arial Narrow',Impact,system-ui,sans-serif;display:block;margin-top:4px;white-space:nowrap}.meter{height:4px;background:#303d4b;border-radius:5px;overflow:hidden;margin-top:4px}.meter>div{background:#ed3c45;height:100%;transition:width .3s}.control-group{margin-top:13px}.control-group label{display:flex;justify-content:space-between;color:#a3b3c3;font-size:10px;font-weight:800;letter-spacing:.5px;margin-bottom:7px}.control-group label span{color:#d5e2ed}.seg3,.tyres{display:flex;gap:5px}.seg3 button,.tyres button{flex:1;background:#17222e;border:1px solid #3a4859;color:#a2b2c0;padding:9px 3px;border-radius:3px;font:800 11px 'Arial Narrow',Impact,system-ui,sans-serif}.seg3 button.active{background:#b02d32;border-color:#ed4c52;color:#fff}.tyres button{display:flex;justify-content:center;align-items:center;gap:5px}.tyres button.active{border-color:#f7d061;background:#373527;color:#ffe27e}.tyres i{height:9px;width:9px;border-radius:50%;background:#ef424e}.tyres i.medium{background:#ffdf54}.tyres i.hard{background:#fff}.pit-btn{margin-top:13px;width:100%;background:#ee343c;color:white;border:0;border-radius:4px;padding:12px 9px;font:900 13px 'Arial Narrow',Impact,system-ui,sans-serif;letter-spacing:.5px;text-align:left;box-shadow:0 3px 12px #e32c3830}.pit-btn span{float:right}.pit-btn:disabled{opacity:.5}.pitnote{font-size:10px;color:#8196a7;margin-top:8px;line-height:1.3;min-height:12px}
.bottom{height:34px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 17px;background:#0c1218;border-top:1px solid #283443;color:#64788a;font:700 9px system-ui;letter-spacing:.45px}.simcontrols{display:flex;align-items:center;gap:6px;color:#b1c1cf}.simcontrols button{background:#1b2733;border:1px solid #38485a;color:#aabcc9;border-radius:3px;padding:4px 8px;font:800 11px 'Arial Narrow',Impact,system-ui,sans-serif}.simcontrols button.active{background:#ed3840;color:white;border-color:#ed3840}
@media(max-width:860px){body{overflow:auto}#app{height:100dvh;min-height:600px}.layout{grid-template-columns:minmax(0,1fr)}.race-col{height:57dvh;min-height:300px}.sidebar{min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:56px 30px minmax(0,1fr)}.sidebar-head{grid-column:1;height:56px}.table-head{grid-column:1;padding:7px}.standings{grid-column:1;grid-row:3;overflow-y:auto}.strategy{grid-column:2;grid-row:1 / span 3;padding:10px;overflow-y:auto}.sectionhead strong{font-size:18px}.strategy .driver-row h2{font-size:19px}.driverswitch{margin:8px 0}.driver-card{padding:7px}.metrics{gap:6px}.metrics strong{font-size:14px}.control-group{margin-top:9px}.pit-btn{margin-top:9px;padding:9px}.bottom{height:30px}.bottom>span:nth-child(2){display:none}.scene-top{height:45px}.scene-footer{height:46px}.scene-tools{bottom:57px}.scene-footer b{font-size:16px}.scene-footer>span{display:none}}
@media(max-width:540px){.header{height:49px;padding:0 10px}.brandmark{font-size:30px}.brand{gap:9px}.brand strong{font-size:17px}.brand small{font-size:7px;letter-spacing:.5px}.header-meta{gap:8px}.head-clock{font-size:22px}.live{font-size:8px}.live i{width:5px;height:5px}.layout{display:flex;flex-direction:column;overflow:auto;min-height:0}.race-col{height:52dvh;min-height:290px;flex:none}.scene-top{padding:0 9px}.session strong{font-size:14px}.session small{font-size:8px}.session-right{gap:7px;font-size:11px}.weather{display:none}.scene-tools button{padding:8px}.scene-tools button span{font-size:9px}.map-frame{width:118px;height:96px;right:8px;top:8px}.map-frame span{font-size:7px}.left-broadcast{min-width:0;left:7px;top:8px;padding:7px 8px}.broadcast-header{font-size:11px}.broadcast-header span{font-size:8px;margin-left:10px}.broadcast-event{font-size:8px;max-width:180px;line-height:1.2}.scene-footer{height:39px;padding:0 9px}.scene-footer b{font-size:16px}.scene-footer>div:last-child{font-size:22px}.scene-footer>div:last-child small{font-size:9px}.status{height:27px;font-size:8px;padding:0 8px}.status>div:nth-child(2){display:none}.sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:46px 28px minmax(0,1fr);height:calc(48dvh - 78px);min-height:215px}.sidebar-head{height:46px;padding:0 8px}.sidebar-head strong{font-size:21px}.table-head{padding:5px 6px;grid-template-columns:22px 1fr 42px 23px;font-size:7px;gap:2px}.standing{padding:5px 6px;min-height:37px;grid-template-columns:22px 1fr 42px 23px;gap:2px}.standing.selected{padding-left:3px}.rank{font-size:15px}.standing .driver{gap:4px}.driver b{font-size:9px}.driver small{font-size:7px}.teamcolor{height:20px}.gap{font-size:10px}.tyre-icon{width:16px;height:16px;font-size:8px}.strategy{padding:7px}.sectionhead strong{font-size:17px}.sectionhead small{font-size:8px}.team-pill{display:none}.driverswitch{margin:5px 0}.driverswitch button{padding:6px 2px;font-size:10px}.driver-row h2{font-size:17px!important}.driver-row small,.metrics small{font-size:7px}.tire-soft{width:24px;height:24px;border-width:3px;font-size:11px}.metrics{margin-top:5px;gap:4px}.metrics strong{font-size:13px}.meter{margin-top:2px}.control-group{margin-top:6px}.control-group label{font-size:8px;margin-bottom:4px}.seg3 button,.tyres button{padding:6px 2px;font-size:9px}.pit-btn{font-size:11px;padding:7px 5px;margin-top:7px}.pitnote{font-size:8px;margin-top:4px}.bottom{height:29px;padding:0 7px;font-size:7px}.bottom>span:first-child{max-width:55%;overflow:hidden;white-space:nowrap}.simcontrols button{padding:3px 5px}}

/* V1.1 mobile-first patch: readable portrait layout, no squeezed twin columns */
@media(max-width:650px){
 html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
 #app{height:auto!important;min-height:100dvh;overflow:visible}
 .layout{display:flex!important;flex-direction:column!important;overflow:visible!important;flex:none!important;min-height:0!important}
 .header{height:54px!important;min-height:54px;padding:0 12px;gap:8px;overflow:hidden}
 .brand{min-width:0;gap:9px}.brandmark{font-size:30px;flex:none}
 .brand strong{font-size:19px;white-space:nowrap}.brand small{font-size:7px;letter-spacing:.65px;white-space:nowrap}
 .header-meta{gap:7px;flex:none}.header-meta .live{display:none}
 .head-clock{font-size:21px}.darkbtn{padding:4px 8px}
 .race-col{height:auto!important;min-height:0!important;width:100%;display:flex;flex-direction:column;flex:none}
 .scene-top{height:49px!important;min-height:49px!important;gap:9px;padding:0 11px!important}
 .session{min-width:0;gap:7px}
 .session strong{font-size:17px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:190px}
 .session small{font-size:8px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}
 .session-right{gap:7px;flex:none;font-size:11px}
 .session-right .badge{font-size:10px;padding:6px}.session-right .weather{display:none}
 .scene{display:block;flex:none!important;height:51dvh!important;min-height:350px!important;background:#43663f}
 .scene-footer{height:45px!important;padding:0 13px!important}
 .scene-footer b{font-size:19px}.scene-footer>div:last-child{font-size:25px}
 .scene-tools{bottom:56px;right:11px;gap:5px}
 .scene-tools button{padding:9px!important;font-size:14px!important}
 .scene-tools button span{font-size:9px}
 .map-frame{width:122px;height:102px;right:8px;top:8px}
 .left-broadcast{top:8px;left:8px;min-width:0;max-width:60%;padding:7px 9px}
 .broadcast-header{font-size:12px}.broadcast-event{font-size:8px;line-height:1.35}
 .status{height:30px;flex:none;padding:0 11px;font-size:9px}
 .sidebar{display:flex!important;flex-direction:column!important;height:auto!important;min-height:0!important;width:100%;overflow:visible!important}
 .sidebar-head{height:55px!important;min-height:55px;padding:0 15px!important;flex:none}
 .sidebar-head strong{font-size:24px}
 .table-head{display:grid;grid-template-columns:38px 1fr 80px 40px;padding:10px 14px;font-size:10px;gap:5px}
 .standings{display:block;flex:none!important;height:auto!important;max-height:none!important;overflow:visible!important}
 .standing{display:grid;grid-template-columns:38px 1fr 80px 40px;padding:11px 14px!important;min-height:55px!important;gap:5px}
 .standing.selected{padding-left:11px!important}
 .rank{font-size:23px}.driver b{font-size:12px}.driver small{font-size:9px}
 .gap{font-size:14px}.tyre-icon{width:24px;height:24px;font-size:12px}
 .teamcolor{height:27px}
 .strategy{display:block!important;flex:none!important;overflow:visible!important;padding:19px 15px 22px}
 .sectionhead strong{font-size:24px}.sectionhead small{font-size:10px}
 .team-pill{display:block}.driverswitch{margin:14px 0}
 .driverswitch button{padding:11px 8px;font-size:13px}
 .driver-card{padding:14px}
 .driver-row h2{font-size:27px!important}
 .driver-row small,.metrics small{font-size:10px}
 .tire-soft{width:36px;height:36px;font-size:15px;border-width:4px}
 .metrics{margin-top:15px;gap:10px}.metrics strong{font-size:22px}
 .control-group{margin-top:17px}.control-group label{font-size:11px;margin-bottom:10px}
 .seg3 button,.tyres button{padding:12px 7px;font-size:13px}
 .pit-btn{margin-top:17px;padding:15px 12px;font-size:15px}
 .pitnote{font-size:11px;margin-top:9px}
 .bottom{min-height:45px;height:auto;padding:10px 12px;gap:5px;flex-wrap:wrap}
 .bottom>span:first-child{max-width:none;font-size:9px}
 .bottom>span:nth-child(2){display:none}
 .simcontrols{margin-left:auto}
}
@media(max-width:380px){
 .session strong{max-width:130px;font-size:15px}.session small{max-width:130px}
 .scene{height:48dvh!important;min-height:325px!important}
 .map-frame{width:99px;height:86px}
 .left-broadcast{max-width:65%}
 .broadcast-event{max-width:158px}
}

/* V1.2 phone broadcast cleanup: prioritize the racing surface. */
@media (max-width:650px){
 .header{height:48px!important;min-height:48px!important;gap:6px!important;padding:0 10px!important}
 .brand{gap:7px!important;flex:1;overflow:hidden}
 .brandmark{font-size:27px!important;letter-spacing:-2px!important}
 .brand strong{font-size:17px!important;letter-spacing:.2px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .brand small{display:none!important}
 .header-meta{gap:7px!important}
 .head-clock{font-size:19px!important}
 .darkbtn{font-size:14px!important;padding:4px 8px!important}
 .scene-top{gap:5px!important;height:45px!important;min-height:45px!important}
 .session .flag{font-size:17px!important}
 .session strong{font-size:15px!important;max-width:160px!important;letter-spacing:0!important}
 .session small{font-size:7px!important;max-width:160px!important;letter-spacing:.35px!important}
 .session-right .badge{font-size:9px!important;padding:5px!important}
 .session-right #lapinfo{font-size:10px!important;white-space:nowrap}
 .scene{height:54dvh!important;min-height:330px!important;isolation:isolate}
 .map-frame{top:9px!important;right:9px!important;width:102px!important;height:87px!important;opacity:.88;z-index:2}
 .left-broadcast{left:9px!important;top:9px!important;max-width:calc(100% - 125px)!important;width:calc(100% - 144px)!important;min-width:0!important;z-index:3}
 .broadcast-header{font-size:11px!important;letter-spacing:.4px!important}
 .broadcast-header span{display:none!important}
 .broadcast-event{font-size:8px!important;white-space:normal!important;overflow-wrap:break-word!important}
 #track-label{bottom:106px!important;left:12px!important;max-width:145px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:9px!important}
 .scene-tools{right:9px!important;bottom:52px!important;z-index:4}
 .scene-tools button{font-size:12px!important;padding:8px!important}
 .scene-tools button span{font-size:9px!important}
 .scene-footer{z-index:4}
 .status{font-size:9px!important}
 .status>div:last-child{white-space:nowrap}
}

/* Broadcast 1.3 – immersive phone camera and clear racing HUD */
@media(max-width:650px){
 .session-right .badge{display:none!important}
 .session strong{max-width:210px!important;font-size:15px!important}
 .session small{max-width:210px!important}
 .scene{height:57dvh!important;min-height:360px!important}
 #track-label{display:none!important}
 .left-broadcast{padding:6px 9px!important;max-width:48%!important;width:48%!important;background:rgba(6,15,21,.70)!important;backdrop-filter:blur(3px)}
 .broadcast-header{font-size:10px!important}
 .broadcast-event{font-size:7px!important}
 .map-frame{width:104px!important;height:84px!important;opacity:.76!important}
 .scene-tools{right:8px!important;bottom:52px!important}
 .scene-tools button{padding:7px 8px!important;background:rgba(6,15,21,.7)!important}
 .scene-tools button span{font-size:8px!important}
}
@media(max-width:380px){.session strong{max-width:170px!important}.session small{max-width:170px!important}}

/* Fantasy race selector: compact enough for the mobile live broadcast */
.trackselect{display:block;margin-top:3px;max-width:210px}
.trackselect select{display:block;max-width:100%;width:200px;height:23px;background:#0d1a25;color:#e3e9ef;border:1px solid #516170;border-radius:5px;padding:0 6px;font:700 11px system-ui,Arial,sans-serif;letter-spacing:.1px;cursor:pointer}
.trackselect select:focus{outline:2px solid #f1464e;outline-offset:1px}
@media(max-width:650px){.trackselect{max-width:170px}.trackselect select{height:20px;max-width:170px;font-size:10px;padding:0 3px}.session strong{line-height:17px}}
@media(max-width:380px){.trackselect{max-width:146px}.trackselect select{max-width:146px;font-size:9px}}

/* Self-hosted game navigation and language toggle */
.demo-back{color:#e7f0f6;text-decoration:none;background:#263745;border:1px solid #536572;border-radius:5px;padding:8px 9px;font-size:10px;font-weight:900;letter-spacing:.5px;white-space:nowrap}
.demo-back:hover{border-color:#f66b71}
#raceLanguage{background:#172531;color:#f8fcff;border:1px solid #607382;border-radius:5px;font-weight:850;font-size:12px;padding:7px 6px;max-width:60px;cursor:pointer}
@media(max-width:650px){.demo-back{padding:5px!important;font-size:11px}.demo-back span{display:none}.header-meta{gap:4px!important}#raceLanguage{padding:5px 3px;font-size:10px;max-width:46px!important}.head-clock{font-size:17px!important}}

/* V1: Allow full race-strategy controls to remain reachable on compact desktop viewports. */
@media (min-width:651px){
 .sidebar{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}
 .strategy{flex-shrink:0}
}
