:root{--panel-bg: rgba(14, 18, 24, .62);--panel-fg: #e9eef5;--accent: #ffd166}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;background:#0b0f14;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--panel-fg)}#app,canvas{display:block;width:100vw;height:100vh}#hud{position:fixed;top:12px;left:12px;display:flex;flex-direction:column;gap:8px;pointer-events:none;z-index:10}.hud-panel{background:var(--panel-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.4;font-variant-numeric:tabular-nums;white-space:pre}#fps{color:var(--accent);font-weight:600}#minimap{position:fixed;top:12px;right:12px;width:168px;height:168px;border-radius:50%;z-index:10;pointer-events:none;box-shadow:0 4px 16px #00000059}#speed{position:fixed;bottom:16px;right:16px;display:flex;align-items:baseline;gap:6px;z-index:10;pointer-events:none}#speed-val{font-size:34px;font-weight:700;color:var(--accent);line-height:1}#speed-unit{font-size:12px;opacity:.75}#gear{margin-left:6px;font-size:18px;font-weight:700;padding:2px 9px;border-radius:6px;background:#ffffff1a}#help{position:fixed;bottom:12px;left:50%;transform:translate(-50%);font-size:12px;opacity:.85;white-space:normal;text-align:center;max-width:90vw;z-index:10}#controls{display:flex;gap:8px;align-items:center;pointer-events:auto}#controls select,#controls input[type=range]{font:inherit;font-size:12px;color:var(--panel-fg);background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:2px 4px}#controls select option{color:#111}#controls input[type=range]{width:96px}#labels{position:fixed;inset:0;z-index:9;pointer-events:none;overflow:hidden}.label{position:absolute;transform:translate(-50%,-50%);font-size:12px;font-weight:600;white-space:nowrap;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.9),0 0 2px rgba(0,0,0,.8);padding-left:9px}.label:before{content:"";position:absolute;left:0;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:currentColor}.label.k-place{color:#ffe08a;font-size:14px;font-weight:700;letter-spacing:.3px}.label.k-street{color:#e7eefc;font-weight:500}.label.k-shop{color:#8fe0ff}.label.k-food{color:#ffb877}.label.k-civic{color:#b8ffcb}.label.k-poi{color:#cfd6e2;font-weight:500}#attribution{position:fixed;bottom:6px;right:10px;font-size:11px;color:#e9eef5b3;background:#0e121873;padding:2px 8px;border-radius:6px;z-index:10}
