:root{color:#efefdf;font-synthesis:none;--hud-muted:#c7c8b8;--hud-line:#e7e8cd33;--hud-surface:#161b106b;background:#161910;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}button,select{font:inherit}.game-screen-wrapper{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:relative;overflow:hidden}.three-canvas-container{z-index:1;position:absolute;inset:0}.ride-hud{z-index:10;pointer-events:none;color:#efefdf;font-size:12px;position:absolute;inset:0}.hud-panel{background:var(--hud-surface);border:1px solid var(--hud-line);-webkit-backdrop-filter:blur(5px);border-radius:11px}.hud-caption{color:var(--hud-muted);letter-spacing:.45px;white-space:nowrap;font-size:10px;font-weight:600}.ride-top{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));right:max(16px, env(safe-area-inset-right));grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid;position:absolute}.ride-stats{align-items:stretch;gap:8px;display:flex}.ride-distance{flex-direction:column;gap:5px;min-width:128px;padding:11px 14px;display:flex}.distance-number{font-variant-numeric:tabular-nums;font-size:24px;font-weight:500;line-height:1}.distance-number small{color:var(--hud-muted);font-size:12px}.ride-menu{pointer-events:auto;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.bike-helmet-controls{align-items:flex-start;gap:7px;display:flex}.menu-item{align-items:center;gap:9px;min-height:39px;padding:6px 8px 6px 11px;display:flex}.fps-item{padding-right:12px}.fps-number{text-align:right;font-variant-numeric:tabular-nums;min-width:23px;font-weight:600}.ride-hud select,.ride-hud button{color:inherit;cursor:pointer;background:#e5e7cf14;border:1px solid #0000;border-radius:6px;padding:5px 7px;font-size:12px;font-weight:600}.ride-hud select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;max-width:175px}.ride-hud option{color:#efefdf;background:#303526}.ride-hud select:hover,.ride-hud button:hover{background:#e5e7cf26}.ride-hud select:focus-visible,.ride-hud button:focus-visible{outline-offset:2px;outline:1px solid #d5cc87}.ride-hud select:disabled{opacity:.6;cursor:wait}.engine-state{color:#efefdf80;letter-spacing:.35px;white-space:nowrap;font-size:9px}.engine-state.engine-on{color:#d9d58e}.helmet-item{position:relative}.helmet-item select{max-width:110px}.helmet-status{color:var(--hud-muted);font-size:10px}.helmet-item .helmet-status{white-space:nowrap;background:#161b10b3;border-radius:5px;padding:4px 7px;position:absolute;top:calc(100% + 4px);right:0}.engine-prompt{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#efefdf;white-space:nowrap;background:#161b108c;border:1px solid #e7e8cd3d;border-radius:8px;padding:8px 13px;font-size:12px;animation:.18s ease-out engine-prompt-in;position:absolute;top:76px;left:50%;transform:translate(-50%)}.engine-prompt kbd{color:#e5d98b;font-weight:700}@keyframes engine-prompt-in{0%{opacity:0;transform:translate(-50%,-5px)}to{opacity:1;transform:translate(-50%)}}.bike-notice{padding:9px 12px;font-size:11px;position:absolute;top:calc(100% + 8px);right:0}.ride-history{top:140px;right:max(16px, env(safe-area-inset-right));pointer-events:auto;flex-direction:column;width:228px;height:270px;display:flex;position:absolute;overflow:hidden}.history-best{border-bottom:1px solid var(--hud-line);background:#161b104d;flex:none;padding:13px 14px 12px}.history-best .hud-caption{margin-bottom:5px;display:block}.history-best strong{font-variant-numeric:tabular-nums;color:#f2efc9;font-size:19px;font-weight:700;line-height:1.15;display:block}.history-best small{color:var(--hud-muted);font-size:11px}.history-list{scrollbar-color:#e7e8cd61 transparent;min-height:0;padding:5px 0;overflow-y:auto}.history-record{color:var(--hud-muted);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:space-between;gap:9px;padding:6px 14px;font-size:11px;display:flex}.history-record:first-child{color:#efefdf;background:#e5e7cf12}.history-record span{color:#e7e6bb}.history-empty{color:#c7c8b8ad;padding:12px 14px;font-size:11px;display:block}.ride-bottom-left{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));flex-direction:column;align-items:flex-start;gap:9px;max-width:calc(100% - 195px);display:flex;position:absolute}.ride-pitch{width:274px;max-width:100%;padding:11px 13px 9px}.pitch-heading{justify-content:space-between;align-items:center;gap:24px;display:flex}.pitch-heading strong{font-variant-numeric:tabular-nums;font-size:19px;font-weight:500}.pitch-track{background:#eaecd32b;border-radius:3px;height:4px;margin-top:12px;position:relative}.pitch-safe-zone{background:#c4cc9499;width:33.33%;height:100%;position:absolute;left:50%}.pitch-needle{background:#f1efd6;border-radius:2px;width:3px;height:10px;position:absolute;top:-3px;transform:translate(-50%)}.pitch-foot{color:var(--hud-muted);justify-content:space-between;gap:12px;margin-top:9px;font-size:10px;display:flex}.pitch-warning{color:#f1d19a}.ride-help{color:var(--hud-muted);pointer-events:auto;flex-wrap:wrap;align-items:center;gap:6px 13px;padding:7px 10px;font-size:11px;line-height:1.5;display:flex}.ride-help>span{white-space:nowrap}.ride-help kbd{font:inherit;color:#efefdf;font-weight:600}.help-mark{border:1px solid var(--hud-line);text-align:center;border-radius:50%;width:16px;height:16px;font-size:10px;line-height:14px}.ride-help button{color:var(--hud-muted);background:0 0;padding:0;font-size:11px;font-weight:400}.ride-speed{flex-direction:column;align-items:flex-start;gap:5px;min-width:82px;padding:11px 14px;display:flex}.ride-speed strong{font-variant-numeric:tabular-nums;font-size:24px;font-weight:500;line-height:1}.ride-speed .hud-caption{font-size:9px}.ride-links{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));pointer-events:auto;gap:7px;display:flex;position:absolute}.ride-link{min-height:35px;color:inherit;justify-content:center;align-items:center;padding:8px 14px;font-size:12px;font-weight:600;text-decoration:none;display:inline-flex}.ride-link:hover{background:#282f1db8}.ride-link:focus-visible{outline-offset:2px;outline:1px solid #d5cc87}.ride-crash-countdown{text-align:center;text-shadow:0 2px 12px #000c;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ride-crash-countdown .hud-caption{color:#efefdf}.ride-crash-countdown strong{font-variant-numeric:tabular-nums;font-size:clamp(64px,12vw,96px);font-weight:700;line-height:1}@media (width<=800px){.ride-top{grid-template-columns:1fr;gap:8px;top:10px;left:10px;right:10px}.ride-menu{grid-template-columns:auto auto auto;justify-content:end;gap:5px;display:grid}.bike-helmet-controls{grid-area:2/1/auto/-1;justify-content:flex-end;gap:5px}.sound-item{grid-area:1/3}.menu-item{gap:6px;min-height:35px;padding:5px 7px}.ride-distance{min-width:112px;padding:10px}.ride-history{width:202px;height:228px;top:210px;right:10px}.ride-bottom-left{left:10px;bottom:calc(max(10px, env(safe-area-inset-bottom)) + 44px);max-width:calc(100% - 20px)}.ride-links{right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom))}}@media (width<=520px){.ride-menu select{max-width:148px;font-size:11px}.ride-menu .bike-item select{max-width:110px}.ride-menu .helmet-item select{max-width:85px}.sound-item{gap:4px;padding-inline:5px}.engine-state{font-size:8px}.ride-menu .hud-caption{font-size:9px}.ride-distance{min-width:96px}.ride-distance .hud-caption{font-size:9px}.ride-bottom-left{max-width:calc(100% - 20px)}.ride-pitch{width:230px}.ride-help{gap:3px 9px;max-width:100%;font-size:10px}.ride-help button{font-size:10px}.ride-speed{min-width:74px;padding:10px}.ride-history{width:min(202px,100vw - 20px);height:200px}.history-record,.history-best{padding-inline:10px}}@media (width<=380px){.ride-menu .menu-item:not(.fps-item){flex-direction:column;gap:3px}.ride-menu .sound-item{grid-template-columns:auto auto;align-items:center;display:grid}.sound-item .engine-state{text-align:center;grid-column:1/-1}}
