:not(:root):fullscreen::backdrop{background:#fff!important}body{width:100vw;height:100vh;margin:0;padding:0;font-family:sans-serif;display:grid;position:relative;overflow:hidden}@media (orientation:landscape){body{place-items:center}}body.desktop{place-items:center}html,body{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}#hud{flex-direction:column;align-items:center;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}#hud progress{width:60vmin}#hud #level{color:#c20000;text-shadow:0 0 1em #fff,0 0 .2em #fff;font-size:5vmin}#three-canvas{aspect-ratio:1;box-sizing:border-box;overflow-clip-margin:content-box;border:1px solid #000;width:100%;height:100%;margin:0;display:block;overflow:clip;width:100vmin!important;height:auto!important;height:initial!important}#controls{--control-dim-fallback:40vmin;--control-dim:40dvmin;--horizontal-padding:5vw;--vertical-padding:15vh;width:100%;position:absolute;bottom:0;left:0}#controls #circle{--circle-size-fallback:var(--control-dim-fallback);--circle-size:var(--control-dim);left:var(--horizontal-padding);bottom:var(--vertical-padding);position:absolute}#controls #circle.desktop{--circle-size-fallback:80vmin;--circle-size:80dvmin;bottom:50vh;left:50vw;transform:translate(-50%,50%)}#controls #circle{width:var(--circle-size-fallback);width:var(--circle-size);height:var(--circle-size-fallback);height:var(--circle-size);z-index:10;border:1px solid red;border-radius:10000px}#controls #circle #arrow-wrapper{width:50%;height:3px;position:absolute;top:50%;left:50%;transform:translateY(-50%)}#controls #circle #arrow-wrapper #arrow{transform-origin:0%;background-color:#fd0000;width:100%;height:100%}#controls #accel{right:var(--horizontal-padding);bottom:var(--vertical-padding);width:var(--control-dim-fallback);width:var(--control-dim);height:var(--control-dim-fallback);height:var(--control-dim);border:1px solid red;position:absolute}#controls #accel.desktop{display:none}#controls #accel{flex-direction:column;display:flex}#controls #accel button{color:#d80000;background-color:#0000;border:none;height:100%;font-size:3.8vmin}#controls #accel button:first-child{border-bottom:1px solid red}#course-selection-dialog{border:0;width:100dvw;max-width:100dvw;height:100dvh;max-height:100dvh;margin:0;padding:0}#course-selection-dialog #course-selection-main{box-sizing:border-box;text-align:center;height:100%;margin:0;padding:2vh}#course-selection-dialog #course-selection-main h2{font-size:8vmin}@media (aspect-ratio>=9/10) and (aspect-ratio<=11/10){#course-selection-dialog #course-selection-main h2{margin:2.5vmin 0;font-size:6vmin}}#course-selection-dialog #course-selection-main #course-list{grid-gap:2vmin;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr 1fr 1fr;gap:2vmin;height:75%;display:grid}@media (orientation:portrait){#course-selection-dialog #course-selection-main #course-list{grid-template-rows:1fr 1fr 1fr 1fr;grid-template-columns:1fr 1fr;height:85%}}@media (aspect-ratio>=9/10) and (aspect-ratio<=11/10){#course-selection-dialog #course-selection-main #course-list{grid-template-rows:1fr 1fr 1fr;grid-template-columns:1fr 1fr 1fr}}#course-selection-dialog #course-selection-main #course-list .card{padding:3vmin}@media (aspect-ratio>=9/10) and (aspect-ratio<=11/10){#course-selection-dialog #course-selection-main #course-list .card{padding:2vmin}}#course-selection-dialog #course-selection-main #course-list .card{box-sizing:border-box;border:2px solid #000;flex-direction:column;gap:2vmin;font-size:4.25vmin;display:flex}#course-selection-dialog #course-selection-main #course-list .card div{white-space:nowrap}#course-selection-dialog #course-selection-main #course-list .card .course-idx{background-color:#e4f0fc;place-items:center;height:100%;font-size:10vmin;display:grid}#course-selection-dialog #course-selection-main #course-list .card .max-lvl{color:#f10000;font-size:5vmin}#level-reached{padding:4vmin}#level-reached #level-reached-main{flex-direction:column;align-items:center;gap:1vmin;display:flex}#level-reached #level-reached-main h2{text-align:center;margin:3vmin;font-size:10vmin;line-height:1.5}#level-reached #level-reached-main #level-reached-val{color:red}#level-reached #level-reached-main button{padding:3vmin;font-size:8vmin}#fullscreen-button{z-index:1000;color:#333;background-color:#ffffff80;border:1px solid gray;justify-content:center;align-items:center;gap:12px;width:55px;height:55px;padding:2px;font-size:40px;line-height:.1rem;display:flex;position:fixed;top:0;right:0}#fullscreen-button.mobile{display:none}#debug-info{z-index:1000;position:fixed;top:0;right:0}
