.App{width:100%;height:100%;#gl-canvas,#hud-canvas{position:absolute;width:100%;height:100%}#gl-canvas{z-index:1}#hud-canvas{z-index:2}.overlay{pointer-events:none;position:absolute;display:flex;top:0;width:100%;height:100%;z-index:3}.gui{position:absolute;top:0;overflow:hidden;display:flex;width:100%;height:100%;z-index:5;.loading{display:flex;flex-direction:column;margin:.5rem;font-family:Lekton}.left,.right{display:flex;flex-direction:column;justify-content:space-between;flex:1;height:100%}.Settings{position:absolute;justify-self:center}.race,.config-select,.Replay,.Leaderboard{padding:.5rem;margin:.5rem;display:flex;flex-direction:column;max-height:100%}.config-select{margin-top:auto;background-color:#00000080;max-width:40ch;span{width:fit-content}.configs{display:flex;flex-direction:column;overflow-y:auto;td{white-space:nowrap}}.select{text-align:right}}}}.DebugStats{grid-column:1/2;grid-row:1/2;align-self:start;justify-self:start;margin-block:.5rem;font-family:Lekton;td{padding-inline:.5ch}.sub :first-child{padding-left:2ch}}.Leaderboard{align-self:flex-end;display:flex;flex-direction:column;background-color:#00000080;min-width:35ch;max-height:100%;overflow:hidden;.results{display:flex;flex-direction:column;overflow-y:auto;tr{.time,:last-child{text-align:right}}.me{color:#2af}}}.race{align-self:flex-end;display:flex;flex-direction:column;background-color:#00000080;overflow:hidden;min-width:40ch;.info{display:flex;flex-direction:column;flex:none}.past-results{overflow:auto;flex-shrink:1;display:flex;flex-direction:column;tr{.time,td:has(button){text-align:right}}}.me{color:#2af}button.submit{min-width:8ch}}.delta{position:absolute;top:20%;left:50%;transform:translate(-50%,-50%);display:flex;justify-content:center;gap:1ch;height:fit-content;font-size:1.25rem;.time{background-color:#00000080}.faster{background-color:#14640080}.slower{background-color:#64141480}}.Replay{position:absolute;bottom:0;left:0;align-self:end;width:calc(100% - 1rem);display:flex;gap:1rem;flex-direction:column;background-color:#00000080;overflow-y:auto;.nav{display:flex;align-items:center;gap:1rem;.toggle{width:6ch}}}.SeekBar{display:flex;align-items:center;background-color:#555;.bar{display:flex;height:2rem;background-color:#f40}}.ControllerSettings{width:100%;select{overflow-x:hidden;min-width:0;font-size:1.25rem}}.ActiveGamepad{width:100%;.name{white-space:nowrap}.axes{width:100%;.name{width:10ch}.value{vertical-align:middle}}}.ActiveConfig{table{width:100%;table-layout:fixed;th,td{padding:0;white-space:nowrap;overflow:hidden}input{min-width:0;width:100%}}}.AxisValue{width:100%;.container{position:relative;display:flex;justify-content:center;align-items:center;width:100%;height:1.5rem;background-color:#555;.slider{position:absolute;left:0;height:1.5rem;background-color:#f40}.value{position:absolute;z-index:5}}}.QuadSettings{.rates-charts,.pid-charts{width:100%;table-layout:fixed;.rates-canvas,.pid-canvas{aspect-ratio:initial;width:100%;align-self:center;border:1px solid white}}}.Settings{position:absolute;top:0;left:50%;transform:translate(-50%);display:flex;width:min(100%,900px);height:fit-content;background-color:#00000080;gap:1rem;max-height:calc(100% - 1rem);margin-block:.5rem;.menu{position:sticky;top:0;display:flex;flex-direction:column;align-items:flex-start;padding-block:.5rem;button{background:none;border:none;padding-block:.5rem;padding-inline:1rem;width:100%;text-align:left;font-size:1.25rem;&.active{color:#f40}}}.tabs{display:flex;flex-direction:column;padding:1rem;.tab{display:flex;overflow-x:hidden;overflow-y:auto;width:100%;max-height:100%;>*{display:flex;flex-direction:column;gap:1rem}.chapter{display:flex;flex-direction:column;gap:.5rem;table{width:100%;table-layout:fixed;th,td{padding-inline:0;padding-block:1px;white-space:nowrap;vertical-align:top}.name{width:10ch}input{min-width:0;width:100%;&[type=checkbox]{width:auto;float:right}}}}.VectorInput{display:inline-flex;gap:1px;>*{flex:1}}}}input[type=number]{text-align:right;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{opacity:1}}}.UserSettings{textarea{resize:none;width:100%;min-height:10lh}.danger{color:#f40;font-weight:700;font-size:.9rem;white-space:normal}}@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;src:url(/font/Jersey10-Regular.ttf)}@font-face{font-family:Lekton;font-style:normal;font-weight:400;src:url(/font/Lekton-Regular.ttf)}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;src:url(/font/SourceSans3-Regular.ttf)}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;src:url(/font/SourceSans3-Bold.ttf)}@font-face{font-family:"Source Sans 3";font-style:italic;font-weight:400;src:url(/font/SourceSans3-Italic.ttf)}*{box-sizing:border-box}html{font-size:14px;font-family:"Source Sans 3",sans-serif}body{margin:0;background-color:#111;color:#fff}table{border-spacing:0}span{white-space:pre}button{background-color:#222;border:1px solid #555555;color:#fff;margin-inline:1px;&:hover{background-color:#555}&:disabled{color:#999}}input{background-color:#222;color:#fff;border:1px solid #555555;padding:2px .5ch;&:disabled{color:#999}}textarea{background-color:#222;color:#fff;border:1px solid #555555;padding:2px .5ch;resize:none;&:disabled{color:#999}}input[type=number]{appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{display:none}.heading{font-weight:700;font-size:1.25rem}.danger{color:red}.hash{color:#ddd;font-size:.8rem;font-family:"Source Sans 3"}
