:root{color-scheme:dark}
*{box-sizing:border-box}body{margin:0;background:#0a1218;color:#dfe6e8;font-family:Arial,Helvetica,sans-serif;font-size:16px}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}main{max-width:1680px;padding:0 48px;margin:auto}.topbar{height:96px;border-bottom:1px solid #26323b;display:flex;align-items:center;justify-content:space-between}.brand{font-size:24px;font-weight:800;letter-spacing:2px;display:flex;align-items:center;gap:10px;color:#eef1ed;text-decoration:none}.brand-mark{font-size:38px;font-style:italic;color:#eac17b;letter-spacing:-12px;margin-right:20px}.slash{color:#eac17b;font-weight:300}.brand-small{font-size:10px;font-weight:400;letter-spacing:3px;margin-left:19px;border-left:1px solid #40505b;padding:4px 0 4px 25px}.top-actions{display:flex;gap:28px;align-items:center}.edition{font-size:11px;letter-spacing:2px;color:#81919d}.edition span{background:#25323a;color:#c8d2d8;padding:5px 8px;margin-left:8px}.sound{color:#aab8c2}.titlebar{display:flex;justify-content:space-between;align-items:end;padding:36px 0 27px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:2.4px;color:#a3b1b9;display:flex;gap:9px;align-items:center}.tiny-line{height:1px;width:25px;background:#eac17b}h1{font-weight:400;font-size:42px;letter-spacing:-1.8px;line-height:1.15;margin:12px 0 0}h1>span{color:#eac17b}.course-meta{display:flex;gap:35px;padding-bottom:6px}.course-meta>span{font-size:23px;font-weight:300;display:flex;align-items:center;gap:9px}.course-meta b{font-weight:400;font-size:10px;letter-spacing:1.8px;color:#8c9ca8}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 308px;border:1px solid #2c3942;border-radius:10px;overflow:hidden;background:#101a22}.race-surface{position:relative;background:#0b1a21;min-width:0;height:590px;overflow:hidden}.race-surface canvas{width:100%;height:100%;display:block}.track-top,.track-bottom{position:absolute;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:1;font-size:10px;letter-spacing:1.5px;color:#b5c2c5;pointer-events:none}.track-top{top:22px}.track-bottom{bottom:23px;color:#718790}.track-bottom>span:first-child{display:flex;align-items:center;gap:7px}.track-bottom>span:last-child{letter-spacing:2.5px}.circuit-label{border:1px solid #45606877;padding:8px 10px;border-radius:3px;display:flex;align-items:center;gap:8px;background:#0a1922aa}.live-dot{height:5px;width:5px;border-radius:50%;background:#eac17b}.track-label>span{margin-left:14px;color:#718790}.paddock{padding:26px 24px;border-left:1px solid #293841;display:flex;flex-direction:column;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:600;letter-spacing:2px;color:#d0dade;margin-bottom:25px}.small-square{width:7px;height:7px;border:1px solid #eac17b;transform:rotate(45deg)}.mode-select{display:flex;background:#09131b;border:1px solid #27343d;padding:4px;border-radius:5px;margin-bottom:23px}.mode-select button{flex:1;font-size:13px;height:33px;padding:0 8px;color:#97a7b3}.mode-select button.selected{background:#293640;color:#f4e5cb;box-shadow:0 1px 4px #0005}.field-label{display:block;font-size:10px;letter-spacing:1.7px;color:#879ba8;margin-bottom:9px}input{height:41px!important;font-size:14px!important;border-radius:4px!important;background:#111f29!important}.grid-title{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.7px;color:#869ca9;margin-top:26px;margin-bottom:13px}.grid-title span:last-child{font-size:9px;letter-spacing:1px;color:#788d99}.drivers{display:flex;flex-direction:column;gap:0}.driver{display:flex;align-items:center;gap:10px;border-bottom:1px solid #25313a;padding:13px 0}.driver-number{font-size:11px;color:#637b8b;font-variant-numeric:tabular-nums}.car-stripe{width:4px;height:25px;border-radius:2px}.driver-name{font-size:14px;flex:1;overflow-wrap:anywhere}.driver-name small{display:block;font-size:8px;letter-spacing:1.1px;margin-top:4px;color:#738b9b}.driver.you .driver-name{color:#efcd94}.skill{font-size:10px;color:#98a8b1;background:#21313b;border:1px solid #2d424e;padding:3px 6px;border-radius:3px}.skill-2{color:#c4a6d5;background:#2b2638;border-color:#493852}.skill-0{color:#99babc;background:#1b3237;border-color:#2b4a4d}.race-note{font-size:10px;color:#899faa;display:flex;align-items:center;gap:6px;margin:22px 0}.note-dot{width:4px;height:4px;background:#b1986f;border-radius:50%}.race-button{width:100%;height:48px;justify-content:space-between;padding:0 17px;border-radius:4px;background:#eac17b;font-size:14px;box-shadow:0 4px 25px #eac17b0b}.online-setup{margin-top:12px}.secondary-button{width:100%;background:#243540;color:#d9e1e6;height:40px}.join-form{display:flex;gap:7px;margin-top:10px}.join-form button{height:41px}.join-form input{text-transform:uppercase;letter-spacing:2px}.online-note{font-size:13px;color:#98aab5;line-height:1.6}.room-card{padding:17px 0 5px}.room-code{font-size:34px;letter-spacing:5px;color:#eac17b;display:flex;justify-content:space-between;align-items:center;margin:12px 0}.room-card p{font-size:13px;color:#9cafb8;margin:8px 0}.leave-button{color:#a3b2bd;margin-top:10px;font-size:12px}.telemetry{display:grid;grid-template-columns:1fr 1fr}.position strong,.lap strong{font-size:40px;font-weight:400;display:block;line-height:1.1;color:#eac17b}.position small,.lap small{font-size:18px;color:#617785;margin-left:8px}.position>span,.lap>span{font-size:10px;letter-spacing:1.8px;color:#8194a0;display:block;margin-top:6px}.lap{text-align:right}.speed{grid-column:span 2;display:flex;align-items:baseline;gap:8px;margin-top:20px}.speed strong{font-weight:300;font-size:66px;line-height:1}.speed span{font-size:11px;color:#90a3ad;letter-spacing:1px}.boost-label{display:flex;justify-content:space-between;grid-column:span 2;margin-top:15px;font-size:10px;letter-spacing:1px;color:#bcab89}.boost-label>span:first-child{display:flex;gap:5px;align-items:center}.fuel-track{grid-column:span 2;height:4px;margin-top:8px;background:#263640}.fuel-track>div{height:100%;background:#eac17b}.race-time{grid-column:span 2;display:flex;align-items:center;justify-content:space-between;margin-top:15px}.race-time span{font-size:10px;letter-spacing:1px;color:#8194a0}.race-time b{font-size:18px;font-weight:400;font-variant-numeric:tabular-nums}.telemetry+.grid-title{margin-top:22px}.pause-button{margin-top:20px;width:100%;font-size:12px}.center-overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;z-index:3;min-width:260px}.center-overlay p{font-size:14px;color:#f5ddad;text-shadow:0 2px 8px #000}.countdown{font-size:110px;font-weight:800;color:#eac17b;text-shadow:0 0 45px #edc47766;animation:pulse .9s ease-out infinite}.glass{padding:30px;background:#0a141df0;border:1px solid #eac17b55;backdrop-filter:blur(12px);border-radius:8px;box-shadow:0 20px 100px #0008}.glass .eyebrow{justify-content:center}.glass h2{font-size:29px;margin:14px 0 23px;font-weight:400;color:#f0e0c3}.result{width:min(370px,90%);color:#eac17b}.result>svg{margin:0 auto 14px}.result-list{color:#c3d0d7;margin:20px 0}.result-list>div{display:flex;gap:14px;align-items:center;font-size:14px;padding:9px 0;border-bottom:1px solid #34414b}.result-list b{color:#b8a079}.result-list span{flex:1;text-align:left}.result-list strong{font-size:12px;font-weight:400}.result>button{margin:4px;width:100%}.error{border:1px solid #ac645c66;color:#efa59b;background:#422c3033;font-size:13px;padding:10px;line-height:1.5;margin-top:15px}footer{display:flex;align-items:center;gap:26px;border-bottom:1px solid #24323c;padding:25px 0;color:#96a9b6}.controls-title{font-size:10px;letter-spacing:1.5px;display:flex;gap:10px;align-items:center;color:#b4c0c5}.control{display:flex;align-items:center;gap:4px;font-size:12px}.control span{margin-left:5px}kbd{font-family:inherit;font-size:11px;border:1px solid #344651;border-bottom-width:2px;background:#15232d;border-radius:3px;padding:5px;min-width:25px;text-align:center;color:#c5d1d8}.wide-key{font-size:9px;letter-spacing:.7px;padding:7px}.guide-note{font-size:11px;color:#6c818f;margin-left:auto}.subfooter{display:flex;justify-content:space-between;padding:20px 0;color:#627988;font-size:10px;letter-spacing:.5px}.subfooter span:last-child{letter-spacing:2px;font-size:9px}.touch-controls{display:none;gap:8px;justify-content:center;margin-top:14px;touch-action:none;user-select:none}.touch-controls button{min-height:50px;flex:1;font-size:12px;touch-action:none}.touch-controls .gas{flex:1.4}.touch-controls button:active{background:#eac17b;color:#141819}@keyframes pulse{from{transform:scale(1.1);opacity:.8}to{transform:scale(1);opacity:1}}@media(min-width:1550px){.race-surface{height:670px}.paddock{padding:30px}.game-layout{grid-template-columns:minmax(0,1fr) 330px}.driver{padding:17px 0}}@media(max-width:1150px){main{padding:0 24px}.race-surface{height:570px}.guide-note{display:none}footer{gap:20px}.game-layout{grid-template-columns:minmax(0,1fr) 285px}.paddock{padding:24px 19px}.track-label{display:none}}@media(max-width:820px){main{padding:0 16px}.topbar{height:75px}.brand{font-size:19px;gap:7px}.brand-small,.edition{display:none}.titlebar{padding:25px 0 22px}h1{font-size:32px}.course-meta{gap:14px}.course-meta>span{font-size:18px;flex-direction:column;gap:5px;align-items:flex-end}.course-meta b{font-size:8px;letter-spacing:1px}.game-layout{display:flex;flex-direction:column}.race-surface{height:440px}.paddock{border-left:0;border-top:1px solid #2c3942;padding:22px}.panel-heading{margin-bottom:18px}.drivers{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}.race-note{margin:18px 0}.grid-title{margin-top:20px}.mode-select{margin-bottom:15px}.track-top,.track-bottom{left:15px;right:15px}.track-bottom>span:last-child{font-size:8px}.track-top{top:15px}.telemetry{grid-template-columns:1fr 1fr 1.5fr;gap:10px}.speed{grid-column:auto;margin:0;justify-content:flex-end}.speed strong{font-size:45px}.lap{text-align:center}.boost-label,.fuel-track,.race-time{grid-column:span 3;margin-top:3px}.position strong,.lap strong{font-size:34px}.touch-controls{display:flex}footer{flex-wrap:wrap;justify-content:center;gap:12px;padding:20px 0}.controls-title{width:100%;justify-content:center}.subfooter span:last-child{display:none}}@media(max-width:450px){.race-surface{height:320px}.eyebrow{font-size:9px}h1{font-size:28px}.course-meta{gap:10px}.course-meta>span{font-size:16px}.drivers{column-gap:16px}.driver{gap:7px}.skill{font-size:9px;padding:3px}.driver-name{font-size:12px}.driver-name small{font-size:7px}.driver-number{font-size:10px}.touch-controls{gap:5px}.touch-controls button{padding:0 8px}.center-overlay.result{padding:16px}.result h2{font-size:23px;margin:8px 0}.result>svg{display:none}.result-list{margin:6px 0}.result-list>div{padding:6px 0}}@media(prefers-reduced-motion:reduce){.countdown{animation:none}}

/* Readable circuit instrumentation at every viewport. */
.brand-small,.edition,.eyebrow,.course-meta b,.track-top,.track-bottom,.panel-heading,.field-label,.grid-title,.grid-title span:last-child,.driver-number,.skill,.race-note,.controls-title,.control,.guide-note,.subfooter,.subfooter span:last-child{font-size:12px}.driver-name{font-size:16px}.driver-name small{font-size:10px;letter-spacing:.7px}.race-note{line-height:1.5}.race-surface{height:auto;min-height:590px}.race-surface canvas{position:absolute;inset:0}.track-bottom>span:last-child{font-size:10px}.controls-title{letter-spacing:.8px}.guide-note{max-width:210px;line-height:1.5}.skill{padding:3px 5px}.panel-heading{letter-spacing:1.6px}.game-layout{grid-template-columns:minmax(0,1fr) 320px}@media(max-width:1150px){.game-layout{grid-template-columns:minmax(0,1fr) 300px}.brand-small{font-size:10px}}@media(max-width:820px){.race-surface{height:440px;min-height:440px}.course-meta b{font-size:10px}.eyebrow{font-size:10px}.track-top,.track-bottom{font-size:10px}.race-note{font-size:12px}.control{font-size:12px}.game-layout{display:flex}.paddock{order:0}}@media(max-width:450px){.race-surface{height:320px;min-height:320px}.driver-name{font-size:14px}.driver-name small{font-size:9px}.driver-number,.skill{font-size:11px}.course-meta{gap:9px}.course-meta b{font-size:9px}}
@media(max-width:820px){.touch-controls{padding:0 12px 14px}.paddock{margin-top:0}.race-surface .track-bottom{bottom:15px}}

button{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-size:14px;border:1px solid #344651;border-radius:4px;min-height:38px;padding:8px 14px;background:#172832;color:#dce6e9;transition:background .15s}button:hover{background:#2b414f}button:focus-visible,input:focus-visible{outline:2px solid #eac17b;outline-offset:3px}button:disabled{opacity:.5;cursor:default}button.primary,.race-button{background:#eac17b;color:#131b20}button.primary:hover,.race-button:hover{background:#f4d69f}button.ghost{border-color:transparent;background:transparent}input{display:block;width:100%;min-width:0;padding:9px 12px;color:#e2e9ed;border:1px solid #344651;font-family:inherit}.sound{min-width:42px}.mode-select button{border:0}.circuit-label{font-size:11px}.track-bottom{font-size:11px}.result button{width:100%;margin-top:7px}.touch-controls button{font-size:12px}.boost-label{font-size:12px}.telemetry .position>span,.telemetry .lap>span,.race-time span{font-size:12px}.telemetry .lap{margin-right:4px}.error:empty{display:none}.race-surface{min-height:610px}#overlay:empty{display:none}#overlay{position:absolute;inset:0;pointer-events:none;z-index:4}#overlay>div{pointer-events:auto}.control svg{display:none}.top-actions .sound{font-size:20px}.brand-small{white-space:nowrap}.leave-button{width:100%}.touch-controls .gas{background:#eac17b;color:#18212a}@media(max-width:820px){.race-surface{min-height:440px}.touch-controls{display:flex}}@media(max-width:450px){.race-surface{min-height:320px}.titlebar{gap:10px}.course-meta{gap:8px}.course-meta b{letter-spacing:0}.topbar{height:70px}.paddock{padding:20px 15px}.grid-title{margin-top:15px}}
