:root{--paper:#e0d9cc;--ink:#050506;--panel:#ffffffc7;--accent:#db1f0f;--m-ink:#27272b;--m-ink-soft:#27272b80;--m-paper:250, 248, 243;--m-accent:#ef6145;--m-curtain:#f1ede7}html,body{background:var(--m-curtain);height:100%;color:var(--ink);margin:0;overflow:hidden}body{font-family:system-ui,sans-serif}#app,#app canvas{width:100%;height:100%;display:block}#app canvas{background:#1b1916}#frame-hud,#fatal{background:var(--panel);white-space:pre;font-variant-numeric:tabular-nums;pointer-events:none;border-radius:4px;margin:0;padding:4px 8px;font:12px/1.4 ui-monospace,monospace;position:fixed;top:8px;left:8px}#fatal{color:#db1f0f;white-space:pre-wrap;top:auto;bottom:8px}@font-face{font-family:Inter;font-weight:300;font-display:block;src:url(/backroad-rally/fonts/Inter-Light.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:400;font-display:block;src:url(/backroad-rally/fonts/Inter-Regular.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:500;font-display:block;src:url(/backroad-rally/fonts/Inter-Medium.woff2)format("woff2")}@font-face{font-family:Inter;font-weight:600;font-display:block;src:url(/backroad-rally/fonts/Inter-SemiBold.woff2)format("woff2")}#stage-hud{--u:1px;--d:1px;--uf:1.333px;--df:1.333px;pointer-events:none;text-transform:lowercase;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:#fff;font-family:Inter,system-ui,sans-serif;font-weight:400;line-height:1.2;position:fixed;inset:0;overflow:hidden}#stage-hud .mono{justify-items:end;display:inline-grid}#stage-hud .mono>.tpl,#stage-hud .mono>.val{white-space:pre;grid-area:1/1}#stage-hud .mono>.tpl{visibility:hidden}#stage-hud .outlined{-webkit-text-stroke:calc(var(--d) * 2) #00000073;paint-order:stroke fill;text-shadow:calc(var(--d) * 1) calc(var(--d) * 1) 0 #00000059}#stage-hud .outlined.big{-webkit-text-stroke-width:calc(var(--d) * 4);text-shadow:calc(var(--d) * 2) calc(var(--d) * 2) 0 #00000059}#stage-hud .hud-timer{flex-direction:column;align-items:flex-end;display:flex;position:absolute}#stage-hud .hud-timer>*+*{margin-top:calc(var(--d) * 6)}#stage-hud .hud-timer .panel{background:var(--paper);color:var(--ink);font-weight:600;line-height:1.21}#stage-hud .hud-timer .pos{font-size:calc(var(--uf) * 19);font-weight:600}#stage-hud .hud-timer .ghost{align-items:center;display:flex}#stage-hud .hud-timer .ghost .label{font-size:calc(var(--uf) * 15);margin-right:calc(var(--d) * 8)}#stage-hud .hud-timer .ghost .panel{font-size:calc(var(--uf) * 19);padding:calc(var(--d) * 2) calc(var(--d) * 10)}#stage-hud .hud-timer .pop{font-size:calc(var(--df) * 24);color:var(--ue-accent);font-weight:600}#stage-hud .hud-timer .pens,#stage-hud .hud-timer .best{font-size:calc(var(--df) * 16)}#stage-hud .hud-progress{left:calc(var(--d) * 40);width:calc(var(--d) * 36);height:calc(var(--d) * 420);position:absolute;top:50%;transform:translateY(-50%)}#stage-hud .hud-progress>div{position:absolute;left:50%;transform:translate(-50%)}#stage-hud .hud-progress .track{top:calc(var(--d) * 8);bottom:calc(var(--d) * 8);width:calc(var(--d) * 4);background:#ffffffd9}#stage-hud .hud-progress .shadow{top:calc(var(--d) * 9);bottom:calc(var(--d) * 7);width:calc(var(--d) * 4);margin-left:calc(var(--d) * 1);background:#00000040}#stage-hud .hud-progress .tick{width:calc(var(--d) * 18);height:calc(var(--d) * 4);background:#ffffffe6}#stage-hud .hud-progress .tick.top{top:calc(var(--d) * 6)}#stage-hud .hud-progress .tick.bottom{bottom:calc(var(--d) * 6)}#stage-hud .hud-progress .fill{bottom:calc(var(--d) * 8);width:calc(var(--d) * 4);background:var(--ue-ink)}#stage-hud .hud-progress .mark{width:calc(var(--d) * 10);height:calc(var(--d) * 10);background:var(--ue-accent);border:calc(var(--d) * 3) solid #fff;transform:translate(-50%,50%)}#stage-hud .hud-lights{background:var(--plate);display:grid;position:absolute}#stage-hud .hud-lights .light{background:var(--lens);justify-content:center;align-items:center;display:flex;position:relative}#stage-hud .hud-lights .icon{-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}#stage-hud .hud-gear{background:var(--paper);border-radius:calc(var(--u) * 6);position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #0000002e}#stage-hud .hud-gear svg,#stage-hud .dial svg{display:block;overflow:visible}#stage-hud svg text{text-anchor:middle;dominant-baseline:central;font-variant-numeric:tabular-nums;font-family:Inter,system-ui,sans-serif}#stage-hud svg .label,#stage-hud svg .dial-num{font-weight:600}#stage-hud .hud-speed{align-items:flex-end;display:flex;position:absolute}#stage-hud .hud-speed .number{align-items:flex-end;display:flex}#stage-hud .hud-speed .number .big{font-weight:600;line-height:1.21}#stage-hud .hud-card{left:50%;top:calc(var(--d) * 110);text-align:center;color:var(--ue-ink);padding:calc(var(--d) * 16) calc(var(--d) * 40);white-space:nowrap;background:#ffffffc7;position:absolute;transform:translate(-50%)}#stage-hud .hud-card .name{font-size:calc(var(--df) * 34);font-weight:600}#stage-hud .hud-card .sub{font-size:calc(var(--df) * 18);margin-top:calc(var(--d) * 4)}#stage-hud .hud-count{transform:translate(-50%, calc(-50% - var(--d) * 60));font-size:calc(var(--df) * 120);text-shadow:calc(var(--d) * 3) calc(var(--d) * 3) 0 #00000059;font-weight:600;line-height:1;position:absolute;top:50%;left:50%}#stage-hud .hud-results{background:#0000002e;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#stage-hud .hud-results .panel{color:var(--ue-ink);padding:calc(var(--d) * 36) calc(var(--d) * 44);background:#faf9f3e6}#stage-hud .hud-results .sub{font-size:calc(var(--df) * 18);color:#27272b99;padding-left:calc(var(--d) * 20)}#stage-hud .hud-results .title{font-size:calc(var(--df) * 40);padding:0 0 calc(var(--d) * 4) calc(var(--d) * 20);font-weight:600}#stage-hud .hud-results .title.dnf{color:var(--ue-accent)}#stage-hud .hud-results .line{font-size:calc(var(--df) * 20);padding-left:calc(var(--d) * 20);margin-bottom:calc(var(--d) * 14)}#stage-hud .hud-results .item{font-size:calc(var(--df) * 26);padding:calc(var(--d) * 6) calc(var(--d) * 17);min-width:calc(var(--d) * 420);justify-content:space-between;align-items:baseline;display:flex}#stage-hud .hud-results .item.sel{color:#fff;background:#26262b}#stage-hud .hud-results .key{font-size:calc(var(--df) * 15);opacity:.6}#stage-hud .hud-dip{opacity:0;background:#fff;position:absolute;inset:0}#stage-hud .ghost-labels{position:absolute;inset:0}#stage-hud .ghost-label{white-space:nowrap;font-size:calc(var(--uf) * 13);will-change:transform;align-items:center;font-weight:500;display:flex;position:absolute;top:0;left:0}#stage-hud .ghost-label .dot{width:calc(var(--u) * 6);height:calc(var(--u) * 6);margin-right:calc(var(--u) * 5);box-shadow:0 0 0 1px #00000073}#stage-hud.panel-open .ghost-labels,#stage-hud.panel-open .hud-timer,#stage-hud.panel-open .hud-lights,#stage-hud.panel-open .hud-gear,#stage-hud.panel-open .hud-speed,#stage-hud.panel-open .hud-progress{visibility:hidden}body.no-debug #frame-hud,body.no-hud #frame-hud,body.no-hud #stage-hud{display:none}.menu-root{--d:1px;--f:1.333px;z-index:10;pointer-events:none;text-transform:lowercase;color:var(--m-ink);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-family:Inter,system-ui,sans-serif;line-height:1.21;position:fixed;inset:0;overflow:hidden}.menu-root .curtain{background:var(--m-curtain);transition:none;position:absolute;inset:0}.menu-root .content{padding:calc(var(--d) * 40) calc(var(--d) * 40) calc(var(--d) * 70) calc(var(--d) * 96);justify-content:flex-start;align-items:center;display:flex;position:absolute;inset:0}.menu-root.centred .content{padding:calc(var(--d) * 40);justify-content:center}.menu-root .panel{--panel-a:.8;background:rgba(var(--m-paper), var(--panel-a));pointer-events:auto;box-sizing:border-box;max-height:100%;overflow:hidden}.menu-root .lbl{white-space:pre-wrap}.menu-root .lbl.soft,.menu-root .soft{color:var(--m-ink-soft)}.menu-root .lbl.ell{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.menu-root .accent{color:var(--m-accent)}.menu-root .row{cursor:default;box-sizing:border-box;color:var(--m-ink);background:#27272b00;align-items:stretch;font-weight:500;transition:background-color .12s ease-out,color .12s ease-out;display:flex}.menu-root .row .bar{background:var(--m-accent);opacity:0;flex:none;transition:opacity .12s ease-out}.menu-root .row .inner{flex:1;align-items:center;min-width:0;display:flex}.menu-root .row .label{white-space:nowrap;flex:1;align-items:center;min-width:0;display:flex}.menu-root .row .badge{margin-left:calc(var(--d) * 10);background:var(--m-accent);color:#fff;border-radius:.45em;padding:0 .38em .05em;font-size:.68em;font-weight:600;line-height:1.35}.menu-root .row .value{text-align:center;opacity:.85;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:none;font-weight:400;overflow:hidden}.menu-root .row .value:hover{opacity:1}.menu-root .row .value.stepped{animation:.2s ease-out m-step}@keyframes m-step{0%{color:var(--m-accent)}}.menu-root .row .arrow{cursor:pointer;opacity:.45;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.menu-root .row.focus .arrow,.menu-root .row .arrow:hover{opacity:1}.menu-root .row .arrow:hover{background:#27272b1a}.menu-root .row.focus .arrow:hover{background:#ffffff29}.menu-root .row .arrow.down{background:var(--m-accent)!important}.menu-root .row .arrow svg{width:100%;height:100%}.menu-root .row .arrow polyline{fill:none;stroke:currentColor;stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round}.menu-root .row.focus{background:var(--m-ink);color:rgba(var(--m-paper), .92)}.menu-root .row.focus .bar{opacity:1}.menu-root .row.locked .text,.menu-root .row.disabled .text,.menu-root .row.disabled .value{opacity:.4}.menu-root .row.pressed{animation:.16s ease-out m-press}@keyframes m-press{0%{background:#38383d}}.menu-root .row.flash{animation:.55s ease-out m-flash}@keyframes m-flash{0%{background:#ef6145d9}}.menu-root .flag{flex:none;display:block}.menu-root .hints,.menu-root .music{bottom:calc(var(--d) * 30);font-size:calc(var(--f) * 15);color:#ffffffd9;text-shadow:1px 1px #00000059;white-space:pre;position:absolute}.menu-root .hints{left:calc(var(--d) * 116)}.menu-root .music{right:calc(var(--d) * 60)}.menu-root .table .trow{align-items:flex-end;display:flex}.menu-root .table .trow.head{color:var(--m-ink-soft)}.menu-root .table .trow.hi{background:var(--m-ink);color:rgba(var(--m-paper), .92);font-weight:600}.menu-root .table .cell{white-space:nowrap;flex:none}.menu-root .table .cell.right{text-align:right;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.menu-root .table .cell.right+.cell.right{padding-left:calc(var(--d) * 18)}.menu-root .controls .crow{padding:calc(var(--d) * 1) 0;display:flex}.menu-root .controls.centre .crow{justify-content:center}.menu-root .controls .act{text-align:right;font-weight:500}.menu-root .controls .keys{color:var(--m-ink-soft)}.menu-root .loading{background:var(--m-curtain);text-align:center;pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.menu-root .tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.menu-root .padlock-note{position:absolute}body.no-hud .menu-root .hints,body.no-hud .menu-root .music{display:none}.menu-root .busy{white-space:nowrap;pointer-events:none;font-size:calc(var(--f) * 16);color:var(--m-ink-soft);justify-content:center;align-items:baseline;font-weight:500;animation:.3s ease-out .25s both busy-in;display:inline-flex}.menu-root .busy.now{animation:none}.menu-root .busy .dots i{will-change:opacity;font-style:normal;animation:1.2s ease-in-out infinite both busy-dot;display:inline-block}.menu-root .busy .dots i:nth-child(2){animation-delay:.2s}.menu-root .busy .dots i:nth-child(3){animation-delay:.4s}@keyframes busy-in{0%{opacity:0}to{opacity:1}}@keyframes busy-dot{0%,to{opacity:.15}40%{opacity:1}}.menu-root .curtain>.busy,.menu-root .loading>.busy{top:50%;left:clamp(50%, calc((var(--d) * 900 + 100%) / 2), calc(100% - 6em));position:absolute;transform:translate(-50%,-50%)}.menu-root .busy.car{color:var(--m-ink);background:rgba(var(--m-paper), .8);padding:calc(var(--d) * 6) calc(var(--d) * 16);position:absolute;top:0;left:0;transform:translate(-50%,-50%)}@media (prefers-reduced-motion:reduce){.menu-root .busy{animation:0s linear .25s both busy-in}.menu-root .busy .dots i{opacity:1;animation:none}}
