:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#142333;background:#e8edf0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}#map{position:fixed;inset:0}.glass{background:rgba(255,255,255,.93);border:1px solid #fff;border-radius:22px;box-shadow:0 6px 30px #193a5920;backdrop-filter:blur(20px)}header{position:fixed;top:max(20px,env(safe-area-inset-top));left:20px;padding:18px 22px;max-width:calc(100vw - 40px)}.brand{font-size:17px;font-weight:750;letter-spacing:-.5px}.brand span{font-size:9px;letter-spacing:2px;color:#467382;margin-left:14px}h1{font-size:21px;letter-spacing:-.5px;margin:16px 0 6px}p{font-size:12px;margin:0;color:#536976}nav{position:fixed;bottom:max(45px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:8px;white-space:nowrap}button{font:600 13px inherit;padding:14px 19px;cursor:pointer;color:#294b60}button[aria-pressed=true]{background:#164e65;color:white;border-color:#164e65}button:focus-visible{outline:3px solid #24a8e0;outline-offset:4px}footer{position:fixed;bottom:13px;text-align:center;width:100%;font-size:10px;color:#46616b;pointer-events:none}.bubble{position:fixed;left:0;top:0;padding:15px 18px;min-width:210px;max-width:300px;transform:none;pointer-events:none}.car-label{font-size:11px;font-weight:650;color:#46616b;display:flex;align-items:center;gap:7px;padding-bottom:10px;border-bottom:1px solid #d9e2e7}.car-label i{height:7px;width:7px;border-radius:50%;background:#2db5a5}#metrics{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px;padding-top:12px}.metric span{display:block;font-size:10px;color:#647b87;margin-bottom:3px}.metric strong{font-size:18px;font-weight:650;letter-spacing:-.5px}.metric small{font-size:10px;font-weight:500;letter-spacing:0;margin-left:3px}.message{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);padding:22px;max-width:360px;width:calc(100vw - 40px);text-align:center;line-height:1.5}[hidden]{display:none!important}@media(max-width:600px){header{top:12px;left:12px;padding:14px 18px}.bubble{left:12px!important;top:auto!important;bottom:108px;transform:none!important;max-width:calc(100vw - 24px)}#metrics{grid-template-columns:repeat(3,1fr);gap:12px 18px}.metric strong{font-size:16px}nav{bottom:48px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}

/* Keep vehicle rendering above every basemap label without blocking gestures. */
#map{z-index:0}#vehicle-map{position:fixed;inset:0;z-index:1;pointer-events:none;background:transparent}#vehicle-map .mapboxgl-control-container{display:none}header,nav,footer,.bubble,.message{z-index:2}
