body{font-family:Arial,sans-serif;max-width:1200px;margin:0 auto;padding:20px}#statistics{margin-bottom:20px;padding:10px;border:1px solid #ccc;border-radius:5px}#chatBox{height:300px;border:1px solid #ccc;overflow-y:scroll;margin-bottom:10px;padding:10px}#messageInput{width:70%;padding:5px}#sendButton{padding:5px 10px}.system-message{color:#888;font-style:italic}.error-message{color:red}#sessionStatus,#connectionStatus{margin-bottom:10px;padding:5px;border-radius:5px;font-weight:bold}.sessionstarted,.connected{background-color:#d4edda;color:#155724}.disconnected{background-color:#f8d7da;color:#721c24}.sessionwaiting{background-color:#fff3cd;color:#856404;visibility:hidden}.connecting{background-color:#fff3cd;color:#856404}#disconnectButton{margin-left:10px;padding:5px 10px;background-color:#f8d7da;color:#721c24;border:1px solid #721c24;cursor:pointer}#disconnectButton:disabled{opacity:.5;cursor:not-allowed}#serialSection{display:flex;align-items:center;gap:10px;margin-bottom:20px;padding:10px;border:1px solid #ccc;border-radius:5px}.btn{background-color:#007bff;color:white;border:0;padding:10px;border-radius:5px;cursor:pointer;font-size:16px;transition:.3s}.btn:hover{background-color:#0056b3}#batterypower{font-weight:normal;color:black}#batterypower.low-battery{font-weight:bold;color:red}@keyframes blink{0%{opacity:1}50%{opacity:0}100%{opacity:1}}#batterypower.blink{animation:blink 1s linear infinite}.power-dot{width:12px;height:12px;background-color:green;border-radius:50%;box-shadow:0 0 8px rgba(0,255,0,0.8);animation:blink 1.5s infinite alternate;display:inline-block;margin-right:8px}@keyframes blink{from{opacity:1}to{opacity:.5}}.powerstatus-text{font-weight:bold;color:green;font-family:Arial,sans-serif}.blinking-arrow{height:40px;width:auto;animation:blink 1s steps(2,start) infinite;display:inline-block}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.vehicleinfo-row{display:flex;justify-content:flex-end;align-items:center;background-color:#e53935;padding:5px 24px;color:#fff;font-family:Arial,sans-serif;border-radius:6px;max-width:100%;margin-bottom:20px;visibility:hidden}.vehicleinfo-label{margin-right:16px;font-weight:bold;font-size:1rem;white-space:nowrap}.vehicleinfo-value{min-width:180px;font-size:1rem;background:rgba(255,255,255,0.15);padding:6px 12px;border-radius:4px;text-align:right;font-family:monospace}.popup-glass{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:9999;background:rgba(30,30,30,0.35);backdrop-filter:blur(4px);transition:opacity .3s}.popup-content{background:rgba(255,255,255,0.2);border-radius:20px;box-shadow:0 8px 32px 0 rgba(31,38,135,0.15);padding:40px 30px 28px 30px;text-align:center;color:#fff;min-width:350px;max-width:95vw;border:1px solid rgba(255,255,255,0.35);position:relative}.close-btn{position:absolute;right:20px;top:18px;font-size:28px;color:#fff;cursor:pointer;transition:color .2s}.close-btn:hover{color:#ffd700}.ping-timer{margin-top:20px;font-size:20px;letter-spacing:2px;display:flex;align-items:center;justify-content:center;gap:12px}#ping-indicator{font-size:34px;animation:hourglass-spin 1.2s cubic-bezier(0.83,0,0.17,1) infinite;will-change:transform}@keyframes hourglass-spin{100%{transform:rotate(360deg)}}#ping-status-bar-container{width:100%;background:#232323;border-radius:8px;overflow:hidden;margin-top:18px;box-shadow:0 2px 12px rgba(50,50,60,0.07);padding:4px 0 2px 0;display:flex;align-items:center;flex-direction:column}#ping-status-bar{height:18px;border-radius:6px;transition:width .3s,background .25s;margin-bottom:5px;background:#4ca944;width:100%}#ping-status-label{font-size:15px;color:#ececec;font-weight:500;letter-spacing:1px}
