:root{--ink:#142428;--paper:#f0efe5;--accent:#f47450;--muted:#aab8b7;--line:rgba(218,231,226,.19);--panel:rgba(17,32,36,.90);font-family:Arial,Helvetica,sans-serif;color:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:#142428;overflow:hidden}button,select,input{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:rgba(235,243,235,.05);border-radius:5px;padding:13px 17px;transition:background .15s,transform .15s}button:hover{background:rgba(235,243,235,.14)}button:active{transform:translateY(1px)}button:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:disabled{opacity:.4;cursor:default}a{color:inherit}select{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#233438;color:var(--paper);padding:10px 9px;cursor:pointer;outline-offset:2px}select:disabled{opacity:.45}label{display:block}.hidden{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block}.vignette{pointer-events:none;position:fixed;inset:0;box-shadow:inset 0 0 140px #0c1c2630}.wordmark{font-weight:950;font-size:27px;font-style:italic;letter-spacing:-1.8px;text-decoration:none;white-space:nowrap}.wordmark span,.race-brand span{color:var(--accent);font-weight:400;margin-left:6px}.eyebrow{font-size:10px;letter-spacing:2.1px;font-weight:700;margin:0 0 12px;color:var(--muted)}#loading{position:fixed;inset:0;background:#142428;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:100}#loading p{font-size:12px;color:var(--muted)}.load-bar{width:160px;height:2px;background:#33484d;margin-top:30px;overflow:hidden}.load-bar i{display:block;background:var(--accent);width:40%;height:100%;animation:load 1.4s ease-in-out infinite}@keyframes load{from{transform:translateX(-100%)}to{transform:translateX(350%)}}#menu{position:fixed;inset:0;overflow:auto;background:linear-gradient(90deg,rgba(13,29,33,.99) 0%,rgba(13,29,33,.94) 34%,rgba(13,29,33,.26) 69%,rgba(13,29,33,.1));}header{height:88px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.header-note{font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:10px}.status-dot{width:6px;height:6px;border-radius:50%;background:#b9cf90;box-shadow:0 0 12px #b9cf9055}.icon-button{width:40px;height:40px;border-radius:50%;padding:0;font-size:19px;display:grid;place-items:center;backdrop-filter:blur(12px)}.menu-content{display:flex;justify-content:space-between;max-width:1550px;margin:auto;padding:40px 4.5vw 28px;min-height:calc(100vh - 143px)}.intro{width:465px;max-width:100%}h1{font-size:clamp(44px,4.6vw,72px);line-height:.99;letter-spacing:-3.5px;margin:0 0 18px;font-weight:800}h1 em{font-weight:400;color:#e0e5dc}h2{letter-spacing:-1px;font-size:30px;margin:0 0 12px}.intro-copy{color:#b1bdbb;line-height:1.5;font-size:13px;margin:0 0 23px}.track-tabs{display:flex;border-bottom:1px solid var(--line);gap:23px;margin:0 0 17px}.track-tabs button{border:0;border-radius:0;border-bottom:2px solid transparent;padding:10px 0;font-size:12px;background:none;color:#8fa3a4}.track-tabs button.active{color:var(--paper);border-color:var(--accent)}.track-detail{display:flex;align-items:center;height:100px;gap:12px}.track-detail>div{flex:1}.track-detail .eyebrow{margin-bottom:4px;font-size:8px}.track-detail h2{font-size:27px;margin-bottom:5px}.track-detail p:last-child{font-size:11px;color:var(--muted);line-height:1.4;margin:0;max-width:260px}#track-preview{width:126px;height:98px;object-fit:contain}.track-stats{display:flex;gap:29px;font-size:8px;letter-spacing:1px;margin:17px 0 23px;color:#97aaaa}.track-stats b{font-size:16px;font-weight:500;letter-spacing:-.5px;color:var(--paper);margin-right:4px}.setup-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:13px 11px}.setup-grid label,.pit-choice{font-size:8px;letter-spacing:1.3px;font-weight:700;color:#a8b8b7}.setup-grid select{font-size:11px;margin-top:6px;letter-spacing:0}.assist-row{display:flex;align-items:center;gap:15px;margin:20px 0}.toggle{font-size:10px;display:flex;align-items:center;gap:7px;cursor:pointer;color:#ccd8d2;position:relative}.toggle input{position:absolute;opacity:0}.toggle span{width:24px;height:13px;border-radius:10px;background:#536267;position:relative;display:inline-block}.toggle span:before{content:'';position:absolute;background:#e8eee8;width:9px;height:9px;left:2px;top:2px;border-radius:50%;transition:.15s}.toggle input:checked+span{background:#adbf87}.toggle input:checked+span:before{left:13px;background:#132429}.toggle input:focus-visible+span{outline:2px solid var(--accent)}.assist-row select{width:auto;margin-left:auto;font-size:10px;padding:6px;border:0;background:transparent;color:#b3c2bd}.primary{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--accent);border-color:var(--accent);color:#152429;font-size:11px;letter-spacing:1.3px;font-weight:800;padding:17px 18px;border-radius:3px}.primary:hover{background:#ff926d}.primary span{font-size:22px;line-height:14px}.session-note{font-size:9px;line-height:1.4;color:#99adaa;margin:11px 0 0}.hero-note{align-self:flex-end;text-align:right;margin-bottom:35px}.hero-note .eyebrow{font-size:8px;color:#ecf0e7}.hero-number{font-size:85px;font-weight:300;letter-spacing:-6px}.hero-number span{font-size:20px;letter-spacing:-1px;color:#d7e0d3}.hero-note>p:last-child{font-size:13px;line-height:1.5}footer{padding:17px 4.5vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.2px;color:#a7b8b5}footer button{border:0;background:transparent;padding:0;font-size:9px;letter-spacing:0}#hud{position:fixed;inset:0;pointer-events:none;font-variant-numeric:tabular-nums}#hud button,#hud select{pointer-events:auto}.race-top{position:absolute;top:23px;left:30px;right:30px;display:flex;align-items:center;gap:25px}.race-brand{font-size:22px;font-weight:900;font-style:italic;letter-spacing:-1px}.lap-box{padding-left:24px;border-left:1px solid #ffffff50}.race-top small{font-size:8px;letter-spacing:1.7px;display:block;color:#d2dfde;margin-bottom:3px;text-shadow:0 1px 4px #000}.lap-box b{font-size:24px}.lap-box b span{font-size:15px;color:#ceddd9;font-weight:400}.time-box{margin-left:auto;text-align:right;background:#172c3270;border-radius:4px;padding:8px 12px}.time-box>b{font-size:23px;font-weight:500}.time-box>div{font-size:8px;color:#cddad5;margin-top:4px}.time-box>div span{color:var(--paper);margin-left:8px}.tower{position:absolute;left:30px;top:111px;width:218px;background:var(--panel);border-radius:4px;overflow:hidden;backdrop-filter:blur(14px)}.tower-head{display:flex;align-items:center;gap:7px;padding:12px 13px;border-bottom:1px solid var(--line)}.tower-head>span:first-child{font-size:25px;color:var(--accent);font-weight:700}.tower-head small{font-size:11px;color:var(--muted)}.tower-head>span:last-child{font-size:9px;letter-spacing:1px;margin-left:auto}.standing{display:grid;grid-template-columns:19px 3px 1fr 40px;gap:8px;padding:9px 13px;align-items:center;font-size:10px;border-bottom:1px solid #ffffff09}.standing i{height:11px;background:var(--c);border-radius:1px}.standing span:last-child{text-align:right;font-size:9px;color:#afc1bd}.standing.me{background:#e8ede516;color:#fff;font-weight:800}.standing.me span:last-child{color:#bed19e}#message{position:absolute;top:108px;left:50%;transform:translateX(-50%);max-width:48vw;padding:10px 18px;border-radius:3px;font-size:12px;text-align:center;background:#14282fec;opacity:0;transition:opacity .2s;border-left:3px solid #b4cd8a}#message.show{opacity:1}#message.warn{border-color:var(--accent)}#start-lights{position:absolute;top:26%;left:50%;transform:translateX(-50%);text-align:center}.lights{display:flex;gap:12px;padding:18px 24px;background:#142428ee;border-radius:9px}.lights i{width:37px;height:37px;border-radius:50%;background:#392b2b;box-shadow:inset 0 3px 5px #0005}.lights i.on{background:#fa443c;box-shadow:0 0 25px #ff423e55}.lights.green i{background:#b7d393;box-shadow:0 0 22px #b7d39355}#start-lights p{font-size:10px;letter-spacing:3px;text-shadow:0 1px 4px #000}.right-stack{position:absolute;right:30px;top:116px;width:205px}#minimap{width:205px;height:168px;filter:drop-shadow(0 2px 5px #0008)}.conditions{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.7px;background:var(--panel);border-radius:3px;padding:10px}#pit-status{background:var(--panel);color:#caddad;padding:13px;font-size:12px;margin-top:8px;border-left:2px solid #bdcf92}.bottom-hud{position:absolute;bottom:40px;left:30px;right:30px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.telemetry{width:190px;background:var(--panel);padding:13px 15px;border-radius:4px;backdrop-filter:blur(12px)}.telemetry-title{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:1.5px;margin-bottom:12px}.telemetry-title span{border:2px solid #f3c94b;color:#f3c94b;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;font-size:11px;font-weight:700;letter-spacing:0}.metric{display:flex;justify-content:space-between;font-size:8px;margin:8px 0;color:#afc1bd}.metric b{color:#e3e9df;font-size:10px;font-weight:500}.meter{height:3px;background:#4a5d5a}.meter i{display:block;height:100%;background:#c7d8a5;width:100%}.dashboard{background:rgba(16,31,36,.93);border:1px solid #e1e8df22;border-radius:7px;padding:12px 19px 13px;width:252px;backdrop-filter:blur(10px);box-shadow:0 8px 45px #0003}.rev-lights{display:flex;gap:5px;margin-bottom:8px;justify-content:space-between}.rev-lights i{height:5px;width:13px;border-radius:2px;background:#ffffff16}.rev-lights i.on{background:var(--c);box-shadow:0 0 7px var(--c)}.speed-row{display:flex;align-items:center;gap:17px}.gear{border-right:1px solid var(--line);padding-right:17px;text-align:center}.gear small{font-size:8px;letter-spacing:1px;display:block;color:#9baead}.gear b{font-size:49px;font-weight:500;line-height:1.1;color:#c6d9a2}.speed{display:flex;align-items:baseline;gap:9px}.speed>b{font-size:60px;letter-spacing:-4px;line-height:1.1;font-weight:500}.speed>small{font-size:8px;color:#a7bbb8;white-space:nowrap}.energy{display:flex;align-items:center;gap:10px;font-size:8px;letter-spacing:.5px;margin:12px 0}.energy>div{background:#45585c;height:4px;flex:1}.energy i{display:block;background:#c2d7a2;height:100%;width:100%}.energy>b{font-weight:400;width:28px}.drive-status{display:flex;justify-content:space-between;font-size:7px;letter-spacing:.5px;color:#a3b6b6}.drive-status .active{color:#c4e597}.actions{width:236px}.action-buttons{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.action-buttons button{background:var(--panel);border:1px solid #dce7dc22;padding:10px;font-size:9px;text-align:left;border-radius:4px;letter-spacing:.5px}.action-buttons button.active{background:#c1d497;color:#17282e}.action-buttons kbd{font:inherit;border:1px solid #c6d3c440;border-radius:3px;padding:2px 5px;margin-right:5px;font-size:9px;min-width:19px;display:inline-block;text-align:center}.pit-choice{margin-top:9px;display:flex;align-items:center;gap:9px;font-size:8px}.pit-choice select{font-size:10px;width:108px;margin-left:auto;padding:7px}.text-button{background:transparent;border:0;font-size:8px;color:#c2d1c9;padding:9px 0 0}.keyboard-hint{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);font-size:7px;letter-spacing:1px;white-space:nowrap;text-shadow:0 1px 5px #000}#touch-controls{display:none}.overlay{position:fixed;inset:0;z-index:50;background:#102126bb;backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;padding:25px;overflow:auto}.dialog{position:relative;width:420px;max-width:100%;padding:33px;background:#182b30;border:1px solid #b9cfcc30;border-radius:9px;box-shadow:0 20px 100px #0005;margin:auto}.dialog>p{color:#aebebb;font-size:13px;line-height:1.7}.dialog>button{width:100%;margin-top:8px;font-size:12px}.dialog .small{font-size:10px;line-height:1.6}.dialog>.close{position:absolute;right:14px;top:8px;width:32px;height:32px;font-size:23px;border:none}.wide-dialog{width:800px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px}.help-grid h3{font-size:13px;color:#d3dea9;margin-bottom:8px}.help-grid p{font-size:12px;line-height:1.7;color:#bccac5}.sound-toggle{margin-top:18px}.result-dialog{width:620px}.result-stats{display:flex;gap:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:17px 0;margin:20px 0}.result-stats small{display:block;font-size:8px;color:#9fb3ae;letter-spacing:1px;margin-bottom:7px}.result-stats b{font-size:25px;font-weight:500}.result-row{display:grid;grid-template-columns:25px 1fr 95px 75px;gap:10px;font-size:11px;padding:8px 4px;border-bottom:1px solid var(--line)}.result-row.me{color:#c4d99b}.result-row span:nth-child(n+3){text-align:right}.portrait-note{display:none}
@media(min-width:1400px){.intro{width:515px}.menu-content{padding-top:52px}.track-detail{height:110px}.setup-grid select{font-size:12px}.primary{padding:20px}.assist-row{margin:23px 0}}
@media(max-height:830px) and (min-width:901px){header{height:67px}.menu-content{padding-top:24px;min-height:calc(100vh - 119px)}h1{font-size:49px}.intro-copy{margin-bottom:12px;font-size:12px}.track-tabs{margin-bottom:10px}.track-detail{height:81px}.track-stats{margin:12px 0 15px}.assist-row{margin:15px 0}.setup-grid{gap:10px}.setup-grid select{padding:8px}.hero-note{margin-bottom:20px}}
@media(max-width:900px){
  header{padding:0 20px;height:65px}
  .header-note{font-size:8px;letter-spacing:1px}
  .menu-content{padding:24px 20px;min-height:calc(100vh - 120px)}
  .intro{width:440px}
  .hero-note{display:none}
  #menu{background:linear-gradient(90deg,#11262afa 0%,#11262aed 45%,#11262a33 100%)}
  h1{font-size:48px}
  .race-top{left:12px;right:12px;top:max(10px,env(safe-area-inset-top));gap:12px;z-index:30}
  .race-brand{font-size:17px}
  .lap-box{padding-left:12px}
  .tower{left:12px;top:74px;width:150px;z-index:20}
  .standing{padding:5px 8px;font-size:9px;gap:5px;grid-template-columns:14px 3px 1fr 28px}
  .tower-head{padding:6px 8px}
  .right-stack{right:12px;top:74px;width:130px;z-index:20}
  #minimap{width:130px;height:105px}
}
@media(pointer:coarse){
  .keyboard-hint{display:none}
  #hud{font-variant-numeric:tabular-nums}
  #touch-controls{
    display:flex;
    position:fixed;
    bottom:max(12px,env(safe-area-inset-bottom));
    left:max(12px,env(safe-area-inset-left));
    right:max(12px,env(safe-area-inset-right));
    justify-content:space-between;
    align-items:flex-end;
    pointer-events:none;
    z-index:40;
  }
  .steer-pad{
    pointer-events:auto;
    touch-action:none;
    user-select:none;
    width:150px;
    height:74px;
    border-radius:37px;
    border:1.5px solid rgba(210,226,222,0.35);
    background:rgba(18,36,42,0.78);
    backdrop-filter:blur(10px);
    position:relative;
    display:grid;
    place-items:center;
    box-shadow:0 4px 18px rgba(0,0,0,0.35);
  }
  .steer-pad>span{
    position:absolute;
    top:6px;
    font-size:7px;
    letter-spacing:2px;
    color:rgba(227,233,223,0.7);
    font-weight:700;
  }
  #steer-knob{
    height:46px;
    width:62px;
    background:rgba(218,235,220,0.22);
    border:1.5px solid rgba(255,255,255,0.45);
    border-radius:23px;
    text-align:center;
    padding-top:8px;
    font-size:20px;
    position:absolute;
    bottom:6px;
    left:calc(50% - 31px);
    pointer-events:none;
    box-shadow:0 2px 8px rgba(0,0,0,0.25);
  }
  .pedals{
    display:flex;
    align-items:flex-end;
    gap:10px;
    pointer-events:none;
  }
  .pedals button{
    touch-action:none;
    user-select:none;
    pointer-events:auto;
    border-radius:12px;
    font-weight:800;
    font-size:9px;
    letter-spacing:1px;
    backdrop-filter:blur(10px);
    box-shadow:0 4px 16px rgba(0,0,0,0.35);
    color:#ffffff;
  }
  #brake-pedal{
    width:68px;
    height:68px;
    background:rgba(226,120,83,0.48);
    border:1.5px solid rgba(241,108,73,0.7);
  }
  #throttle-pedal{
    width:76px;
    height:98px;
    background:rgba(142,195,154,0.45);
    border:1.5px solid rgba(142,195,154,0.75);
  }
  #throttle-pedal span{
    font-size:26px;
    font-weight:700;
    display:block;
    line-height:1;
  }
  .pedals button.held{
    background:rgba(142,195,154,0.85);
    transform:scale(0.96);
    box-shadow:0 0 16px rgba(142,195,154,0.7);
  }
  #brake-pedal.held{
    background:rgba(226,120,83,0.9);
    box-shadow:0 0 16px rgba(226,120,83,0.8);
  }
  .bottom-hud{
    position:fixed;
    inset:auto 0 0 0;
    padding-bottom:max(12px,env(safe-area-inset-bottom));
    display:flex;
    justify-content:center;
    align-items:flex-end;
    pointer-events:none;
    z-index:35;
  }
  .action-buttons kbd{display:none}
}
@media(max-width:600px){
  #menu{background:linear-gradient(180deg,#14272bcc,#102429f5 280px)}
  header{height:58px;padding:0 16px}
  .header-note{display:none}
  .menu-content{padding:20px 16px 16px}
  .intro{width:100%}
  h1{font-size:42px}
  .intro-copy{font-size:11px;margin-bottom:18px}
  .eyebrow{font-size:8px}
  .setup-grid{grid-template-columns:1fr 1fr;gap:9px}
  .setup-grid select{font-size:11px}
  .assist-row{gap:8px;margin:14px 0}
  .toggle{font-size:9px}
  .assist-row select{font-size:9px}
  footer{padding:14px 16px;gap:10px;font-size:7px}
  footer>span:last-child{display:none}
  .track-tabs{gap:16px;margin-bottom:12px}
  .track-tabs button{font-size:10px;padding:6px 0}
  .track-stats{justify-content:space-between;gap:6px;margin:12px 0 16px}
  
  /* Mobile Race HUD */
  .race-top{top:max(8px,env(safe-area-inset-top));left:10px;right:10px;gap:8px}
  .race-brand{font-size:15px}
  .lap-box{padding-left:8px}
  .lap-box b{font-size:16px}
  .lap-box b span{font-size:11px}
  .time-box{padding:4px 7px}
  .time-box>b{font-size:14px}
  .race-top small{font-size:6px;margin-bottom:1px}
  .time-box>div{font-size:6px;margin-top:2px}
  .race-top .icon-button{width:30px;height:30px;font-size:13px}

  .penalty-badge{
    top:44px;
    right:10px;
    font-size:8px;
    padding:4px 8px;
  }
  .penalty-badge.clear{
    opacity:0.55;
    transform:scale(0.85);
    transform-origin:top right;
  }
  .drs-banner{
    top:48px;
    font-size:11px;
    padding:5px 12px;
  }
  .race-control{
    top:48px;
    font-size:8px;
    padding:4px 8px;
    max-width:55vw;
  }
  .race-control i{width:14px;height:10px}
  #message{top:76px;max-width:85%;font-size:10px;padding:6px 10px}

  /* Compact Leaderboard (Top 3) */
  .tower{top:74px;left:10px;width:116px;background:rgba(12,24,28,0.78);backdrop-filter:blur(10px)}
  .tower-head{padding:4px 7px}
  .tower-head>span:first-child{font-size:16px}
  .tower-head>span:last-child{font-size:6px}
  .standing{font-size:7.5px;grid-template-columns:11px 2px 1fr 24px;padding:4px 6px;gap:4px}
  .standing span:last-child{font-size:6.5px}
  .tower .standing:nth-child(n+4){display:none}

  /* Compact Minimap */
  .right-stack{top:74px;right:10px;width:95px}
  #minimap{width:95px;height:78px}
  .conditions{font-size:6px;padding:4px 6px;letter-spacing:0}
  #pit-status{font-size:8px;padding:6px;margin-top:4px}

  /* Bottom Controls & Telemetry Layout */
  .steer-pad{width:132px;height:66px}
  #steer-knob{height:40px;width:54px;font-size:17px;left:calc(50% - 27px)}
  .pedals{gap:8px}
  #brake-pedal{width:56px;height:58px;font-size:8px}
  #throttle-pedal{width:64px;height:84px;font-size:8.5px}
  #throttle-pedal span{font-size:20px}

  /* Action Buttons: DRS & ERS right above Gas/Brake */
  .actions{
    position:fixed!important;
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:calc(max(12px,env(safe-area-inset-bottom)) + 92px)!important;
    left:auto!important;
    width:auto!important;
    pointer-events:none;
    z-index:36;
  }
  .action-buttons{
    display:flex!important;
    flex-direction:row!important;
    gap:6px!important;
  }
  .action-buttons button{
    pointer-events:auto;
    height:34px;
    padding:0 8px!important;
    font-size:9px!important;
    font-weight:900;
    border-radius:7px;
    backdrop-filter:blur(8px);
    text-align:center;
    display:grid;
    place-items:center;
  }
  #drs-button{
    background:rgba(20,60,40,0.75);
    border:1.5px solid rgba(80,220,130,0.6);
    color:#9df0b8;
    min-width:48px;
  }
  #drs-button.active{
    background:#33e876!important;
    color:#0a1a12!important;
    box-shadow:0 0 14px rgba(51,232,118,0.75);
  }
  #ers-button{
    background:rgba(20,50,75,0.75);
    border:1.5px solid rgba(60,170,230,0.6);
    color:#7de0ff;
    min-width:48px;
  }
  #ers-button.active,#ers-button.held{
    background:#38bdf8!important;
    color:#052e42!important;
    box-shadow:0 0 14px rgba(56,189,248,0.75);
  }

  /* Secondary Buttons (Camera, Reverse, Pit) placed neatly above steering */
  #camera-button,#reverse-button,#pit-button{
    position:fixed;
    left:max(10px,env(safe-area-inset-left));
    pointer-events:auto;
    z-index:36;
    height:26px;
    padding:0 6px!important;
    font-size:7px!important;
    font-weight:700;
    border-radius:5px;
    background:rgba(16,32,38,0.75);
    backdrop-filter:blur(8px);
    border:1px solid rgba(255,255,255,0.18);
    display:grid;
    place-items:center;
  }
  #camera-button{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 74px)}
  #reverse-button{left:calc(max(10px,env(safe-area-inset-left)) + 60px);bottom:calc(max(12px,env(safe-area-inset-bottom)) + 74px)}
  #pit-button{left:calc(max(10px,env(safe-area-inset-left)) + 144px);bottom:calc(max(12px,env(safe-area-inset-bottom)) + 74px)}
  #pit-button.active{background:#b8d759;color:#132429}
  #reverse-button.active{background:#f47450;color:#132429}

  .pit-choice{
    position:fixed;
    left:max(10px,env(safe-area-inset-left));
    bottom:calc(max(12px,env(safe-area-inset-bottom)) + 104px);
    margin:0;
    font-size:6px;
    background:rgba(12,24,28,0.75);
    padding:2px 5px;
    border-radius:4px;
    backdrop-filter:blur(8px);
    pointer-events:auto;
    z-index:36;
  }
  .pit-choice select{width:56px;font-size:7.5px;padding:2px;margin-left:4px}
  #reset-button{
    position:fixed;
    top:104px;
    left:50%;
    transform:translateX(-50%);
    font-size:6.5px;
    padding:0;
    color:rgba(255,255,255,0.6);
    pointer-events:auto;
    z-index:36;
  }

  /* Sleek Cockpit Dashboard Cluster */
  .dashboard{
    position:fixed!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    bottom:max(12px,env(safe-area-inset-bottom))!important;
    width:128px!important;
    padding:4px 7px!important;
    background:rgba(10,22,26,0.85)!important;
    backdrop-filter:blur(10px)!important;
    border-radius:7px!important;
    border:1px solid rgba(255,255,255,0.12)!important;
    box-shadow:0 4px 18px rgba(0,0,0,0.45)!important;
    pointer-events:none;
    z-index:34;
  }
  .rev-lights{gap:2px;margin-bottom:3px}
  .rev-lights i{height:3px}
  .speed-row{gap:8px}
  .gear{padding-right:8px}
  .gear small{font-size:6px}
  .gear b{font-size:24px}
  .speed>b{font-size:26px;letter-spacing:-1px}
  .speed>small{font-size:6px}
  .energy{margin:3px 0 2px;font-size:6px;gap:5px}
  .energy>div{height:3px}
  .drive-status{font-size:5.5px}

  /* Compact Telemetry Chip */
  .telemetry{
    position:fixed!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    bottom:calc(max(12px,env(safe-area-inset-bottom)) + 74px)!important;
    width:128px!important;
    padding:3px 6px!important;
    background:rgba(10,22,26,0.78)!important;
    backdrop-filter:blur(8px)!important;
    border-radius:5px!important;
    border:1px solid rgba(255,255,255,0.08)!important;
    pointer-events:none;
    z-index:33;
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    justify-content:space-between!important;
  }
  .telemetry-title{
    width:100%;
    font-size:6.5px!important;
    margin-bottom:2px!important;
  }
  .telemetry-title span{
    width:13px;
    height:13px;
    font-size:7.5px;
    border-width:1.5px;
  }
  .telemetry .metric{
    margin:1px 0!important;
    font-size:6px!important;
    gap:4px;
  }
  .telemetry .metric b{font-size:6.5px!important}
  .telemetry .meter{display:none}
  .damage-parts{display:none}

  /* Start Lights & Dialogs */
  .lights{gap:6px;padding:8px 12px}
  .lights i{width:22px;height:22px}
  #start-lights{top:24%}
  #start-lights p{font-size:8px}
  .dialog{padding:20px}
  .overlay{padding:14px}
  .result-stats{gap:14px;padding:12px 0;margin:14px 0}
  .result-stats b{font-size:18px}
  .result-row{font-size:8px;grid-template-columns:18px 1fr 65px 52px;gap:6px}
}
@media(pointer:coarse) and (orientation:landscape) and (max-height:550px){
  .race-top{top:max(6px,env(safe-area-inset-top));gap:10px}
  .time-box{padding:3px 6px}
  .time-box>b{font-size:15px}
  .tower{top:50px;left:max(10px,env(safe-area-inset-left));width:125px}
  .tower .standing:nth-child(n+4){display:none}
  .right-stack{top:50px;right:max(10px,env(safe-area-inset-right));width:95px}
  #minimap{width:95px;height:75px}
  
  .steer-pad{width:135px;height:65px}
  #steer-knob{height:40px;width:52px;font-size:17px;left:calc(50% - 26px)}
  #brake-pedal{width:56px;height:56px;font-size:8px}
  #throttle-pedal{width:64px;height:80px;font-size:8.5px}

  .actions{
    right:max(10px,env(safe-area-inset-right))!important;
    bottom:calc(max(10px,env(safe-area-inset-bottom)) + 86px)!important;
  }
  #camera-button{bottom:calc(max(10px,env(safe-area-inset-bottom)) + 70px)}
  #reverse-button{left:calc(max(10px,env(safe-area-inset-left)) + 54px);bottom:calc(max(10px,env(safe-area-inset-bottom)) + 70px)}
  #pit-button{left:calc(max(10px,env(safe-area-inset-left)) + 128px);bottom:calc(max(10px,env(safe-area-inset-bottom)) + 70px)}

  .dashboard{
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    width:132px!important;
    padding:4px 8px!important;
  }
  .telemetry{
    left:calc(50% - 145px)!important;
    transform:none!important;
    bottom:max(10px,env(safe-area-inset-bottom))!important;
    width:115px!important;
  }
  .pit-choice{display:none}
  #reset-button{display:none}
}
@media(max-width:600px){.tower .standing:nth-child(n+6){display:none}}
.play-modes{margin:12px 0 8px}.play-modes button{width:100%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:1px;border-color:#bfd49477;color:#d6e8b2;padding:14px}.online-dialog{width:530px}.online-label{font-size:9px;color:#aabfb7;letter-spacing:1px;margin:14px 0}.online-label input{display:block;width:100%;padding:12px;color:#f1f0df;background:#22383b;border:1px solid #6f878755;border-radius:4px;margin-top:8px;outline-color:#bcd190}.online-label select{margin-top:8px}.online-create{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:20px 0;padding-bottom:10px}.online-join{display:flex;align-items:flex-end;gap:12px}.online-join label{flex:1;margin:0}.online-join input{font-size:21px;letter-spacing:4px}.online-join button{height:51px;font-size:10px}.error-message{color:#ffaa84!important;min-height:18px}.lobby-dialog{width:650px}.lobby-code{display:flex;align-items:center;justify-content:space-between;background:#112226;padding:18px;border-radius:5px;margin:23px 0}.lobby-code small{font-size:8px;letter-spacing:2px;color:#8aa8a1;display:block}.lobby-code b{font-size:37px;letter-spacing:7px;line-height:1.5;color:#ccdfa9}.lobby-code button{font-size:10px}#lobby-members{display:grid;grid-template-columns:1fr 1fr;gap:7px;max-height:310px;overflow:auto}.lobby-member{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 9px;border:1px solid #a5c4bb22;border-radius:4px;font-size:10px}.lobby-member b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-member span{font-size:7px;color:#a0aaa8;white-space:nowrap}.lobby-member .ready{color:#bcdf90}.lobby-actions{display:flex;gap:10px}.lobby-actions button{flex:1;font-size:10px}.lobby-actions .active{background:#c1d497;color:#173033}#network-status{position:absolute;top:-15px;left:0;font-size:7px;letter-spacing:1px;color:#d8ecc7;max-width:90vw}.track-tabs{gap:18px;flex-wrap:wrap;row-gap:0}.track-tabs button{font-size:11px}.result-dialog{max-height:90vh;overflow:auto}#result-table{max-height:35vh;overflow:auto}@media(max-width:600px){#lobby-members{grid-template-columns:1fr;max-height:260px}.lobby-code b{font-size:30px;letter-spacing:4px}.lobby-code{padding:12px}.online-join{flex-direction:column;align-items:stretch}.track-tabs{column-gap:19px}.track-tabs button{font-size:10px}.play-modes button{font-size:10px}#network-status{top:-8px;font-size:5px}.lobby-actions{flex-direction:column}.lobby-actions button{padding:14px}}

.race-control{position:absolute;top:78px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:9px 14px;background:#0c151ded;border:1px solid #ffffff22;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.8px;max-width:64vw;box-shadow:0 4px 14px #0003}.race-control i{display:block;flex-shrink:0;width:22px;height:15px;background:#55ba75}.race-control.green{opacity:.8}.race-control.yellow{color:#ffdb55}.race-control.yellow i{background:#ffcf36}.race-control.red{color:#ff837d}.race-control.red i{background:#f33c39}.race-control.warning i{background:linear-gradient(135deg,#eee 50%,#111 50%)}.race-control.black i,.race-control.out i{background:#050505;border:1px solid #aaa}.race-control.mechanical i{background:radial-gradient(circle,#ff852f 0 38%,#111 42%)}.race-control.blue i{background:#2a89f8}.damage-parts{font-size:8px;color:#e2b48b;line-height:1.6;margin:5px 0}#reverse-button{pointer-events:auto}.telemetry{background:#101b22eb}#message{top:123px}@media(max-width:850px){.race-control{top:62px;font-size:8px;padding:6px 9px;max-width:75vw}.race-control i{width:16px;height:12px}#message{top:99px;font-size:10px}.damage-parts{font-size:7px}}


/* === NEW F1 ONLINE & HUD ENHANCEMENTS === */
.penalty-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: var(--font-display, sans-serif);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.05em;
  background: rgba(20, 32, 36, 0.85);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #c5d0d6;
  z-index: 10;
  transition: all 0.25s ease;
}
.penalty-badge.clear { color: #8ec39a; border-color: rgba(142, 195, 154, 0.3); }
.penalty-badge.warn { background: rgba(80, 50, 10, 0.9); border-color: #f3ce58; color: #ffeb99; }
.penalty-badge.penalty { background: rgba(120, 25, 20, 0.92); border-color: #f16c49; color: #ffffff; box-shadow: 0 0 15px rgba(241, 108, 73, 0.5); }
.penalty-badge.dsq { background: #000000; border-color: #ff3333; color: #ff4444; }

.drs-banner {
  position: absolute;
  top: 76px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 22px;
  border-radius: 999px;
  font-family: var(--font-display, sans-serif);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.08em;
  background: rgba(15, 45, 28, 0.92);
  border: 2px solid #33ff77;
  color: #ffffff;
  box-shadow: 0 0 25px rgba(51, 255, 119, 0.55);
  z-index: 12;
  pointer-events: none;
  animation: drsPulse 1.2s infinite alternate ease-in-out;
}
.drs-banner.active {
  background: rgba(25, 140, 70, 0.95);
  border-color: #66ffaa;
  box-shadow: 0 0 35px rgba(102, 255, 170, 0.85);
}
.drs-banner.zone {
  background: rgba(30, 45, 40, 0.85);
  border-color: rgba(200, 220, 210, 0.4);
  color: #d0ded6;
  box-shadow: none;
  animation: none;
}
.drs-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #33ff77;
  box-shadow: 0 0 10px #33ff77;
}
@keyframes drsPulse {
  0% { transform: translateX(-50%) scale(0.98); opacity: 0.9; }
  100% { transform: translateX(-50%) scale(1.04); opacity: 1; }
}

.spectator-bar {
  position: absolute;
  top: 72px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 8px 18px;
  border-radius: 12px;
  background: rgba(20, 32, 36, 0.92);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(241, 108, 73, 0.45);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
  z-index: 25;
  color: #fff;
}
.spectator-info {
  display: flex;
  align-items: center;
  gap: 10px;
}
.spectator-tag {
  background: #f16c49;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  padding: 3px 7px;
  border-radius: 4px;
}
.spectator-hint {
  font-size: 11px;
  color: #9ba8ae;
  margin-left: 8px;
}
.spectator-nav {
  display: flex;
  gap: 6px;
}
.spectator-nav button {
  width: 30px;
  height: 30px;
  font-size: 12px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: #fff;
  cursor: pointer;
}
.spectator-nav button:hover {
  background: #f16c49;
  border-color: #f16c49;
}


/* === QUALIFYING RESULTS & GRID MODAL === */
.quali-dialog { max-width: 640px; }
.quali-actions { margin-top: 18px; display: flex; justify-content: flex-end; }
.quali-table { display: flex; flex-direction: column; gap: 6px; margin: 16px 0; max-height: 48vh; overflow-y: auto; padding-right: 4px; }
.quali-row {
  display: grid;
  grid-template-columns: 44px 1fr 110px 85px;
  align-items: center;
  padding: 8px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-family: var(--font-display, sans-serif);
  font-size: 13px;
}
.quali-row.pole {
  background: rgba(225, 6, 0, 0.15);
  border-color: rgba(225, 6, 0, 0.6);
  box-shadow: 0 0 15px rgba(225, 6, 0, 0.25);
}
.quali-row.me {
  background: rgba(241, 108, 73, 0.2);
  border-color: #f16c49;
}
.quali-row .pole-tag {
  background: #e10600;
  color: #fff;
  font-size: 9px;
  font-weight: 900;
  padding: 2px 5px;
  border-radius: 3px;
  margin-left: 6px;
}
.quali-pos { font-weight: 900; color: #fff; }
.quali-name { font-weight: 700; color: #e5edf0; display: flex; align-items: center; }
.quali-time { font-family: monospace; font-size: 13px; color: #8ec39a; text-align: right; }
.quali-gap { font-family: monospace; font-size: 12px; color: #a4b4bb; text-align: right; }
