/*! © 2026 LogosVox. All rights reserved. Copying, modifying or redistributing this code is not permitted. https://games.logosvox.com/terms */
@font-face{font-family:"Nunito Sans";src:url('./vendor/nunito-sans-latin.woff2') format('woff2');font-weight:200 900;font-display:swap}
:root{color-scheme:dark;--game-ink:#f2f5f6;--game-panel:#18242e;--game-accent:#b9dce8}
html,body{width:100%;height:100%;overscroll-behavior:none}
body{margin:0}canvas{touch-action:none}
#canvas-container,#game-container{height:100dvh!important;width:100%;overflow:hidden}
button,select,input{font:inherit}button,select{touch-action:manipulation}
button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--game-accent);outline-offset:3px}
.lv-runtime-toolbar{position:fixed;right:max(12px,env(safe-area-inset-right));top:calc(var(--lv-shell-h,48px) + 10px);display:flex;gap:6px;z-index:110;align-items:center;font:500 13px/1.2 system-ui}
.lv-runtime-toolbar button,.lv-runtime-toolbar select,.lv-touch-actions button,.lv-render-error button{min-height:44px;border:1px solid #6d8293;border-radius:10px;background:#18242eef;color:var(--game-ink);padding:10px 14px;cursor:pointer}
.lv-runtime-toolbar select{max-width:140px}
.lv-runtime-toolbar button:hover,.lv-touch-actions button:hover{background:#2d4657}
.lv-touch-controls{position:fixed;inset:auto 0 0;z-index:90;pointer-events:none;padding:0 max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom));display:none;align-items:end;justify-content:space-between;gap:20px;font:600 13px/1.2 system-ui;color:var(--game-ink)}
.lv-touch-controls[hidden]{display:none!important}
.lv-stick{position:relative;flex:0 0 112px;height:112px;border-radius:50%;border:1px solid #b9dce899;background:#18242eaa;pointer-events:auto;touch-action:none;display:grid;place-items:center;user-select:none}
.lv-stick span{display:block;width:48px;height:48px;background:#d9e9f0cc;border:1px solid #f2f5f6;border-radius:50%;pointer-events:none}
.lv-stick small{position:absolute;bottom:5px;pointer-events:none;font-size:11px}
.lv-touch-actions{display:flex;flex-wrap:wrap;justify-content:end;gap:8px;max-width:210px;pointer-events:auto;touch-action:none}
.lv-touch-actions button{min-width:62px;padding:12px;min-height:48px;user-select:none;touch-action:none}
.lv-render-error{position:fixed;inset:0;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;background:#15222b;color:#f2f5f6;font:18px/1.6 system-ui;text-align:center}
.lv-render-error p{max-width:38ch}
#start-screen,#start-overlay,#landing-page{box-sizing:border-box;max-height:100dvh;overflow-y:auto;padding-top:calc(var(--lv-shell-h,48px) + 68px)!important;padding-bottom:24px!important}
#start-screen h1,#start-overlay h1{font-size:clamp(28px,7vw,64px)!important;line-height:1.05;background:none!important;-webkit-text-fill-color:currentColor!important;color:#f2f5f6;max-width:90vw}
#start-screen h2{font-size:clamp(14px,3vw,22px);margin-bottom:20px}
#ui-container{max-height:calc(100dvh - var(--lv-shell-h,48px) - 90px);overflow-y:auto;scrollbar-width:thin}
.controls-hint{font-size:clamp(11px,2.7vw,15px);padding:0 16px;max-width:90vw}
@media(any-pointer:coarse){.lv-touch-controls{display:flex}.controls-hint{display:none}#instructions{display:none!important}.hud-bottom{padding-bottom:165px!important}.speedometer{transform:scale(.65);transform-origin:right bottom}#engine-hud{bottom:160px!important}.hud-top{padding:calc(var(--lv-shell-h,48px) + 65px) 10px 0!important}.time-box{padding:6px 10px!important}.lap-time{font-size:18px!important}#rank-display{top:calc(var(--lv-shell-h,48px) + 130px)!important}#minimap,#minimap-container{width:110px!important;height:110px!important;bottom:165px!important}}
@media(max-width:600px){#ui-container{width:min(310px,calc(100vw - 24px))!important;left:12px!important;top:calc(var(--lv-shell-h,48px) + 66px)!important;max-height:calc(100dvh - var(--lv-shell-h,48px) - 245px)}#start-screen,#start-overlay{padding-left:18px!important;padding-right:18px!important}#start-screen .btn,#start-overlay button{min-height:48px}#ui-container input[type=range]{min-height:28px}}
@media(max-height:500px) and (any-pointer:coarse){.lv-stick{flex-basis:90px;height:90px}.lv-touch-controls{padding-bottom:10px}.lv-touch-actions{max-width:270px}#start-screen h2{margin:8px}#start-screen,#start-overlay{justify-content:flex-start!important}.hud-bottom{padding-bottom:104px!important}.lv-runtime-toolbar{top:calc(var(--lv-shell-h,48px) + 4px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}

.lv-runtime-toolbar,.lv-touch-controls{font-family:"Nunito Sans",system-ui,sans-serif}.lv-runtime-toolbar button,.lv-runtime-toolbar select,.lv-touch-actions button{letter-spacing:normal;text-transform:none;font-size:13px;box-shadow:none}.lv-touch-actions button:active{background:#456578}#ui-container{box-sizing:border-box}#hud-top-right{top:calc(var(--lv-shell-h,48px) + 70px)!important}#score-box{font:600 18px/1.2 "Nunito Sans",sans-serif;text-shadow:none}#camera-label{bottom:170px!important}.time-box{border-left:1px solid #6d8293!important}#countdown-display{font-size:80px!important;color:#f2f5f6!important;text-shadow:0 3px 12px #0008!important}@media(any-pointer:coarse){#health-container{bottom:160px;left:20px;width:calc(100% - 40px)}#health-label{font-size:12px;letter-spacing:normal}#health-bar-bg{height:10px}#controls-hint{display:none}#minimap-container{bottom:auto!important}#hud-top-right{right:12px}#score-box{font-size:15px}}@media(max-width:600px){#ui-container{transform:none!important;padding:18px!important}}

@media(any-pointer:coarse){#camera-label{bottom:192px!important;font-size:11px}#simulation-panel[data-collapsed="true"]>:not(h1):not(.sim-toggle):not(.sim-readings){display:none!important}#simulation-panel[data-collapsed="true"]{max-height:29dvh}#simulation-panel h1{padding-right:84px}#simulation-panel .sim-toggle{position:absolute;right:8px;top:8px;width:auto;margin:0;font-size:12px;padding:8px}#simulation-panel .sim-readings{margin-top:14px}}
