:root{--bg:#1d2126;--panel:#262b31;--text:#e6e8eb;--muted:#9aa3ad;color:var(--text);font:14px/1.4 system-ui,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0}body{flex-direction:column;display:flex}header{background:var(--panel);border-bottom:1px solid #000;flex-wrap:wrap;align-items:center;gap:16px;padding:8px 16px;display:flex}header select,header button,header input{font:inherit}header .group{border-left:1px solid #3a4048;border-right:1px solid #3a4048;align-items:center;gap:8px;padding:0 12px;display:flex}#sim-cars{width:6em}#sim-toggle{min-width:4.5em}#stats{color:var(--muted);text-align:right;white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;margin-left:auto;overflow:hidden}main{cursor:grab;touch-action:none;flex:1;min-height:0;position:relative;overflow:hidden}main.dragging{cursor:grabbing}main canvas{width:100%;height:100%;display:block;position:absolute;inset:0}main canvas.overlay{pointer-events:none}#inspector{width:260px;max-width:calc(100% - 24px);color:var(--muted);white-space:pre-wrap;background:#262b31eb;border-radius:6px;padding:10px 12px;font-size:13px;position:absolute;top:12px;right:12px}#inspector dl{color:var(--text);grid-template-columns:auto 1fr;gap:2px 10px;margin:0;display:grid}#inspector dt{color:var(--muted)}#inspector dd{margin:0}#inspector .est{color:#e0a84a}#attribution{color:var(--muted);background:#00000080;padding:2px 8px;font-size:11px;position:absolute;bottom:0;right:0}#inspector,#attribution,#hud,#busy{z-index:1}#loading{z-index:2;color:var(--text);cursor:progress;background:#1d2126d9;justify-content:center;align-items:center;gap:12px;font-size:15px;display:flex;position:absolute;inset:0}#busy{color:var(--muted);pointer-events:none;background:#14161ad9;border-radius:6px;align-items:center;gap:8px;padding:4px 10px;font-size:12px;display:flex;position:absolute;bottom:12px;left:12px}#loading[hidden],#busy[hidden]{display:none}.spinner{border:2px solid #3a4048;border-top-color:#2ee6ff;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}#busy .spinner{width:12px;height:12px}@keyframes spin{to{transform:rotate(360deg)}}#sim-drive.active{color:#0b1a1f;background:#2ee6ff;border-color:#2ee6ff}#hud{pointer-events:none;font-variant-numeric:tabular-nums;background:#14161ad9;border-radius:8px;align-items:baseline;gap:6px;padding:6px 14px;display:flex;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}#hud[hidden]{display:none}#hud-speed{color:#2ee6ff;text-align:right;min-width:2.2em;font-size:28px;font-weight:600}#hud small{color:var(--muted)}#hud-road{color:var(--text);margin-left:10px}
