*{margin:0;padding:0;box-sizing:border-box}body{font-family:Courier New,monospace}.login-container[data-v-4c34a621]{width:100vw;height:100vh;height:100dvh;position:relative;overflow:hidden;background:linear-gradient(135deg,#0a0f1e,#1a1f3e,#0d1b2a);display:flex;align-items:center;justify-content:center}.bg-animation[data-v-4c34a621]{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.circle[data-v-4c34a621]{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(0,240,255,.1) 0%,transparent 70%);animation:float-4c34a621 20s infinite ease-in-out}@keyframes float-4c34a621{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-30px) rotate(180deg)}}.login-card[data-v-4c34a621]{position:relative;z-index:10;width:90vw;max-width:400px;background:#ffffff0d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(0,240,255,.2);border-radius:24px;padding:40px 30px;box-shadow:0 20px 60px #00000080}.logo-section[data-v-4c34a621]{text-align:center;margin-bottom:40px}.logo-icon[data-v-4c34a621]{font-size:60px;margin-bottom:10px;animation:bounce-4c34a621 2s infinite}@keyframes bounce-4c34a621{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.title[data-v-4c34a621]{font-size:24px;font-weight:700;color:#fff;margin-bottom:5px}.subtitle[data-v-4c34a621]{font-size:12px;color:#fff6;letter-spacing:2px}.input-group[data-v-4c34a621]{margin-bottom:20px}.input-wrapper[data-v-4c34a621]{display:flex;align-items:center;background:#ffffff14;border:1px solid rgba(0,240,255,.2);border-radius:12px;padding:12px 15px;transition:border-color .3s}.input-wrapper[data-v-4c34a621]:focus-within{border-color:#00f0ff}.input-icon[data-v-4c34a621]{font-size:20px;margin-right:10px}.phone-input[data-v-4c34a621],.code-input[data-v-4c34a621]{flex:1;min-width:0;background:transparent;border:none;color:#fff;font-size:16px;outline:none}.phone-input[data-v-4c34a621]::-moz-placeholder,.code-input[data-v-4c34a621]::-moz-placeholder{color:#ffffff4d}.phone-input[data-v-4c34a621]::placeholder,.code-input[data-v-4c34a621]::placeholder{color:#ffffff4d}.send-code-btn[data-v-4c34a621]{background:#00f0ff26;border:1px solid rgba(0,240,255,.3);color:#00f0ff;padding:8px 10px;border-radius:8px;font-size:12px;white-space:nowrap;cursor:pointer;transition:all .3s}.send-code-btn[data-v-4c34a621]:disabled{opacity:.5;cursor:not-allowed}.send-code-btn[data-v-4c34a621]:not(:disabled):hover{background:#00f0ff4d}.error-text[data-v-4c34a621]{color:#f44;font-size:12px;margin-top:5px;padding-left:5px}.login-btn[data-v-4c34a621]{width:100%;padding:14px;background:linear-gradient(135deg,#00f0ff,#08f);border:none;border-radius:12px;color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s;margin-top:10px;display:flex;align-items:center;justify-content:center}.login-btn[data-v-4c34a621]:disabled{opacity:.5;cursor:not-allowed}.login-btn[data-v-4c34a621]:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 30px #00f0ff4d}.login-btn[data-v-4c34a621]:not(:disabled):active{transform:translateY(0)}.loading-spinner[data-v-4c34a621]{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-4c34a621 .8s linear infinite}@keyframes spin-4c34a621{to{transform:rotate(360deg)}}.tips[data-v-4c34a621]{margin-top:20px;text-align:center}.tips p[data-v-4c34a621]{font-size:11px;color:#ffffff4d;margin-bottom:5px}.login-error[data-v-4c34a621]{margin-top:15px;padding:10px;background:#ff444426;border:1px solid rgba(255,68,68,.3);border-radius:8px;color:#f44;font-size:13px;text-align:center}.header[data-v-fadd1647]{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:6px 0;margin-bottom:30px;background:linear-gradient(135deg,#0a0f1e,#1a1f3e,#0d1b2a)}.user-info[data-v-fadd1647]{display:flex;align-items:center;gap:12px;cursor:pointer;padding:6px 12px;border-radius:12px;transition:background .3s}.user-info[data-v-fadd1647]:hover{background:#00f0ff1a}.user-info[data-v-fadd1647]:active{transform:scale(.97)}.avatar[data-v-fadd1647]{width:40px;height:40px;background:#00f0ff26;border:1px solid rgba(0,240,255,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.user-detail[data-v-fadd1647]{display:flex;flex-direction:column;gap:2px}.phone[data-v-fadd1647]{color:#fff;font-size:14px;line-height:1.2}.points[data-v-fadd1647]{color:#fa0;font-size:11px;line-height:1.2}.carlist-container[data-v-fadd1647]{min-height:100vh;min-height:100dvh;max-height:100vh;max-height:100dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,#0a0f1e,#1a1f3e,#0d1b2a);padding:20px 20px 100px;position:relative}.header[data-v-fadd1647]{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.user-info[data-v-fadd1647]{display:flex;align-items:center;gap:10px}.avatar[data-v-fadd1647]{width:40px;height:40px;background:#00f0ff26;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px}.phone[data-v-fadd1647]{color:#fff;font-size:14px}.logout-btn[data-v-fadd1647]{background:#ff444426;border:1px solid rgba(255,68,68,.3);color:#f44;padding:8px 16px;border-radius:8px;font-size:12px;cursor:pointer}.page-title[data-v-fadd1647]{text-align:center;margin-bottom:30px}.page-title h1[data-v-fadd1647]{font-size:28px;color:#fff;margin-bottom:5px}.page-title p[data-v-fadd1647]{font-size:12px;color:#fff6;letter-spacing:3px}.car-grid[data-v-fadd1647]{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px}.car-card[data-v-fadd1647]{background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(0,240,255,.15);border-radius:20px;padding:20px;text-align:center;position:relative;cursor:pointer;transition:all .3s;overflow:hidden}.car-card[data-v-fadd1647]:hover{transform:translateY(-5px);box-shadow:0 10px 30px #0000004d}.car-card.occupied[data-v-fadd1647]{opacity:.6;cursor:not-allowed;border-color:#ff44444d}.car-card.selected[data-v-fadd1647]{border-color:#0f8;box-shadow:0 0 30px #00ff884d}.status-badge[data-v-fadd1647]{position:absolute;top:10px;right:10px;padding:4px 10px;border-radius:20px;font-size:10px;display:flex;align-items:center;gap:4px}.free-badge[data-v-fadd1647]{background:#00ff8826;color:#0f8}.occupied-badge[data-v-fadd1647]{background:#ff444426;color:#f44}.status-dot[data-v-fadd1647]{width:6px;height:6px;border-radius:50%;display:inline-block}.free-badge .status-dot[data-v-fadd1647]{background:#0f8;box-shadow:0 0 6px #0f8}.occupied-badge .status-dot[data-v-fadd1647]{background:#f44;box-shadow:0 0 6px #f44}.car-icon[data-v-fadd1647]{font-size:50px;margin:15px 0}.car-name[data-v-fadd1647]{color:#fff;font-size:16px;margin-bottom:5px}.car-model[data-v-fadd1647]{color:#fff6;font-size:12px;margin-bottom:10px}.car-stats[data-v-fadd1647]{display:flex;justify-content:center;gap:15px}.stat[data-v-fadd1647]{color:#ffffff80;font-size:11px}.occupied-info[data-v-fadd1647]{margin-top:10px;padding:5px;background:#ff44441a;border-radius:8px;font-size:11px;color:#f44}.selected-indicator[data-v-fadd1647]{margin-top:10px;padding:5px;background:#00ff8826;border-radius:8px;font-size:12px;color:#0f8;animation:pulse-fadd1647 2s infinite}@keyframes pulse-fadd1647{0%,to{opacity:1}50%{opacity:.5}}.bottom-action[data-v-fadd1647]{position:fixed;bottom:30px;left:20px;right:20px;z-index:10}.enter-btn[data-v-fadd1647]{width:100%;padding:16px;background:linear-gradient(135deg,#0f8,#0c6);border:none;border-radius:16px;color:#fff;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s}.enter-btn[data-v-fadd1647]:disabled{background:#ffffff1a;color:#ffffff4d;cursor:not-allowed}.enter-btn[data-v-fadd1647]:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 30px #00ff884d}.refresh-btn[data-v-fadd1647]{position:fixed;bottom:100px;right:20px;background:#00f0ff26;border:1px solid rgba(0,240,255,.3);color:#00f0ff;padding:10px 16px;border-radius:10px;font-size:12px;cursor:pointer;z-index:10}.header-right[data-v-fadd1647]{display:flex;align-items:center;gap:12px}.ws-status[data-v-fadd1647]{font-size:12px}.online-badge[data-v-fadd1647]{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:20px;font-size:10px;display:flex;align-items:center;gap:4px}.online-badge.online[data-v-fadd1647]{background:#00ff8826;color:#0f8}.online-badge.offline[data-v-fadd1647]{background:#ffaa0026;color:#fa0}.online-badge .status-dot[data-v-fadd1647]{width:6px;height:6px;border-radius:50%}.online-badge.online .status-dot[data-v-fadd1647]{background:#0f8;box-shadow:0 0 6px #0f8}.online-badge.offline .status-dot[data-v-fadd1647]{background:#fa0;box-shadow:0 0 6px #fa0}.car-card.offline[data-v-fadd1647]{opacity:.5;border-color:#ffaa004d}.offline-info[data-v-fadd1647]{margin-top:10px;padding:5px;background:#ffaa001a;border-radius:8px;font-size:11px;color:#fa0}.recharge-btn[data-v-fadd1647]{background:linear-gradient(135deg,#fa03,#ff88001a);border:1px solid rgba(255,170,0,.5);color:#fa0;padding:4px 10px;border-radius:16px;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .3s ease}.recharge-btn[data-v-fadd1647]:hover{background:linear-gradient(135deg,#ffaa004d,#f803);box-shadow:0 0 8px #ffaa004d;transform:translateY(-1px)}.recharge-btn[data-v-fadd1647]:active{transform:scale(.96)}.recharge-icon[data-v-fadd1647]{font-size:12px}.canvas-wrapper[data-v-b614d9aa]{width:100%;height:100%;overflow:hidden;background:transparent!important}canvas[data-v-b614d9aa]{display:block;width:100%;height:100%;background:transparent!important}.modal-overlay[data-v-568f3a2f]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100}.settings-modal[data-v-568f3a2f]{background:#0a1a2a;border:2px solid #00f0ff;border-radius:3vmin;padding:3vh 4vw;width:85vw;max-width:600px;max-height:80vh;overflow-y:auto;color:#ddd;box-shadow:0 0 4vmin #00f0ff4d;font-size:clamp(12px,2vmin,16px)}.settings-modal h2[data-v-568f3a2f],h3[data-v-568f3a2f]{color:#00f0ff;margin-bottom:2vh}.setting-group[data-v-568f3a2f]{margin-bottom:2vh}.setting-group label[data-v-568f3a2f]{display:block;margin-bottom:1vh;font-weight:700}.slider-row[data-v-568f3a2f]{display:flex;align-items:center;gap:2vw;flex-wrap:wrap}.slider-row input[type=range][data-v-568f3a2f]{flex:1;min-width:120px}.slider-row .val[data-v-568f3a2f]{min-width:70px;font-family:monospace;color:#0f8}.slider-row button[data-v-568f3a2f]{background:#00f0ff22;border:1px solid #00f0ff;color:#00f0ff;padding:1vh 2vw;border-radius:3vmin;cursor:pointer;font-size:inherit}.pid-row[data-v-568f3a2f]{display:flex;gap:1vw;align-items:center;margin-bottom:1.5vh;flex-wrap:wrap}.pid-row span[data-v-568f3a2f]{min-width:60px}.pid-row input[data-v-568f3a2f]{width:15vw;max-width:80px;padding:.5vh;background:#012;border:1px solid #00f0ff;color:#fff;text-align:center;border-radius:1vmin;font-size:inherit}.pid-btns[data-v-568f3a2f]{display:flex;gap:2vw;margin-top:2vh;flex-wrap:wrap}.pid-btns button[data-v-568f3a2f]{background:#00f0ff22;border:1px solid #00f0ff;color:#00f0ff;padding:1vh 2vw;border-radius:3vmin;cursor:pointer;font-size:inherit}.close-btn[data-v-568f3a2f]{margin-top:3vh;background:transparent;border:1px solid #ff4444;color:#f44;padding:1.5vh 4vw;border-radius:3vmin;cursor:pointer;float:right;font-size:inherit}@media (max-width: 600px){.settings-modal[data-v-568f3a2f]{width:95vw;padding:15px}.pid-row[data-v-568f3a2f]{flex-wrap:wrap;gap:8px}.pid-row input[data-v-568f3a2f]{width:60px}}.sci-fi-container[data-v-a33c0519]{width:100vw;height:100vh;height:100dvh;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#0a0f1a,#030507);font-family:Share Tech Mono,Courier New,monospace;color:#00f0ff;touch-action:none;overscroll-behavior:none}.top-info-bar[data-v-a33c0519]{position:absolute;top:2vh;left:2vw;right:2vw;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:1vw;padding:1vh 2vw;background:#000a1499;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:60px;border:1px solid rgba(0,240,255,.3);box-shadow:0 0 20px #00f0ff1a}.back-btn[data-v-a33c0519]{background:transparent;border:1px solid #00f0ff;color:#00f0ff;padding:.8vh 2vw;border-radius:40px;font-size:clamp(12px,2vmin,16px);cursor:pointer;display:flex;align-items:center;gap:.5vw;transition:all .3s ease;letter-spacing:1px}.back-btn[data-v-a33c0519]:active{transform:scale(.95);background:#00f0ff26}.car-label[data-v-a33c0519]{display:flex;align-items:center;gap:.8vw;padding:.5vh 1.5vw;background:linear-gradient(135deg,#00f0ff1a,#00f0ff00);border-left:2px solid #00f0ff;font-size:clamp(14px,2.2vmin,20px);font-weight:700;letter-spacing:2px}.car-icon[data-v-a33c0519]{font-size:clamp(16px,2.5vmin,22px);filter:drop-shadow(0 0 3px #00f0ff)}.points-timer[data-v-a33c0519]{display:flex;align-items:center;gap:1.5vw;padding:.5vh 1.5vw;background:#00000080;border-radius:40px;border:1px solid rgba(0,255,136,.4)}.timer-ring[data-v-a33c0519]{display:flex;align-items:center;gap:.5vw;font-family:Orbitron,monospace}.timer-icon[data-v-a33c0519]{font-size:clamp(12px,2vmin,16px)}.timer-text[data-v-a33c0519]{color:#0ff;font-weight:700;text-shadow:0 0 5px #0ff;letter-spacing:2px}.points-display[data-v-a33c0519]{display:flex;align-items:center;gap:.3vw;background:#ffaa0026;padding:.3vh 1vw;border-radius:30px;border:1px solid rgba(255,170,0,.5)}.points-icon[data-v-a33c0519]{font-size:clamp(10px,1.8vmin,14px);color:#fa0}.points-text[data-v-a33c0519]{color:#fa0;font-weight:700;font-size:clamp(14px,2vmin,18px)}.points-timer.warning[data-v-a33c0519]{border-color:#f44;animation:pulse-warning-a33c0519 .8s infinite}.connection-badge[data-v-a33c0519]{display:flex;align-items:center;gap:.6vw;padding:.5vh 1.5vw;background:#00000080;border-radius:40px;border:1px solid #ff3333;position:relative}.connection-badge .pulse-ring[data-v-a33c0519]{position:absolute;width:100%;height:100%;border-radius:40px;pointer-events:none}.connection-badge.connected[data-v-a33c0519]{border-color:#0f8;box-shadow:0 0 10px #00ff884d}.connection-badge .dot[data-v-a33c0519]{width:10px;height:10px;border-radius:50%;background:#f33;box-shadow:0 0 5px #f33}.connection-badge.connected .dot[data-v-a33c0519]{background:#0f8;box-shadow:0 0 8px #0f8;animation:pulse-dot-a33c0519 1.5s infinite}.status-text[data-v-a33c0519]{font-size:clamp(10px,1.6vmin,13px);font-weight:700;letter-spacing:1px}.video-area[data-v-a33c0519]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.stream-video[data-v-a33c0519]{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;background:#000}.scan-line[data-v-a33c0519]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;background:linear-gradient(to bottom,transparent 0%,rgba(0,240,255,.03) 50%,transparent 100%);animation:scan-a33c0519 8s linear infinite;z-index:2}.hud-grid[data-v-a33c0519]{position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(rgba(0,240,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,240,255,.06) 1px,transparent 1px);background-size:6vmin 6vmin;pointer-events:none;z-index:2}.hud-corners[data-v-a33c0519]{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:2}.corner[data-v-a33c0519]{position:absolute;width:40px;height:40px;border-color:#00f0ff;border-style:solid;border-width:0}.corner-tl[data-v-a33c0519]{top:15px;left:15px;border-top-width:2px;border-left-width:2px}.corner-tr[data-v-a33c0519]{top:15px;right:15px;border-top-width:2px;border-right-width:2px}.corner-bl[data-v-a33c0519]{bottom:15px;left:15px;border-bottom-width:2px;border-left-width:2px}.corner-br[data-v-a33c0519]{bottom:15px;right:15px;border-bottom-width:2px;border-right-width:2px}.canvas-container[data-v-a33c0519]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.joystick-zone[data-v-a33c0519]{position:absolute;width:26vmin;height:26vmin;min-width:150px;min-height:150px;z-index:20;border-radius:50%;touch-action:auto;cursor:pointer}.joystick-hologram-ring[data-v-a33c0519]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:50%;border:1.5px solid rgba(0,240,255,.4);box-shadow:0 0 20px #00f0ff33;pointer-events:none;transition:all .2s ease}.joystick-zone.active-up .joystick-hologram-ring[data-v-a33c0519],.joystick-zone.active-down .joystick-hologram-ring[data-v-a33c0519]{border-color:#0f8;box-shadow:0 0 30px #0f86}.joystick-zone.active-left .joystick-hologram-ring[data-v-a33c0519],.joystick-zone.active-right .joystick-hologram-ring[data-v-a33c0519]{border-color:#0af;box-shadow:0 0 30px #0af6}.joystick-label[data-v-a33c0519]{position:absolute;bottom:-25px;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:2px;color:#00f0ff99;text-transform:uppercase;white-space:nowrap;font-family:Share Tech Mono,monospace}.left-joystick[data-v-a33c0519]{left:5vw;bottom:12vh}.right-joystick[data-v-a33c0519]{right:5vw;bottom:12vh}.joystick-zone[data-v-a33c0519] .back,.joystick-zone[data-v-a33c0519] .front{display:none!important}.direction-icons[data-v-a33c0519]{position:absolute;width:100%;height:100%;pointer-events:none;display:flex;justify-content:center;align-items:center}.direction-icons.vertical[data-v-a33c0519]{flex-direction:column;justify-content:space-between;padding:12% 0}.direction-icons.horizontal[data-v-a33c0519]{flex-direction:row;justify-content:space-between;padding:0 12%}.arrow-wrapper[data-v-a33c0519]{position:relative;display:flex;justify-content:center;align-items:center;transition:all .15s ease}.arrow-border[data-v-a33c0519]{position:absolute;width:100%;height:100%;border-radius:50%;opacity:0;transition:all .2s ease;pointer-events:none}.arrow-border.up[data-v-a33c0519]{border-top:2px solid #00ff88;box-shadow:0 -5px 10px #00ff884d}.arrow-border.down[data-v-a33c0519]{border-bottom:2px solid #00ff88;box-shadow:0 5px 10px #00ff884d}.arrow-border.left[data-v-a33c0519]{border-left:2px solid #00aaff;box-shadow:-5px 0 10px #00aaff4d}.arrow-border.right[data-v-a33c0519]{border-right:2px solid #00aaff;box-shadow:5px 0 10px #00aaff4d}.arrow-icon[data-v-a33c0519]{width:clamp(28px,6vmin,42px);height:clamp(28px,6vmin,42px);color:#00f0ff80;transition:all .2s cubic-bezier(.2,.9,.4,1.1)}.joystick-zone.active-up .arrow-wrapper.up .arrow-icon[data-v-a33c0519],.joystick-zone.active-down .arrow-wrapper.down .arrow-icon[data-v-a33c0519]{color:#0f8;filter:drop-shadow(0 0 8px #00ff88);transform:scale(1.2)}.joystick-zone.active-up .arrow-wrapper.up .arrow-border[data-v-a33c0519],.joystick-zone.active-down .arrow-wrapper.down .arrow-border[data-v-a33c0519]{opacity:1}.joystick-zone.active-left .arrow-wrapper.left .arrow-icon[data-v-a33c0519],.joystick-zone.active-right .arrow-wrapper.right .arrow-icon[data-v-a33c0519]{color:#0af;filter:drop-shadow(0 0 8px #00aaff);transform:scale(1.2)}.joystick-zone.active-left .arrow-wrapper.left .arrow-border[data-v-a33c0519],.joystick-zone.active-right .arrow-wrapper.right .arrow-border[data-v-a33c0519]{opacity:1}.joystick-zone:active .arrow-icon[data-v-a33c0519]{transform:scale(1.05)}.toast-message[data-v-a33c0519]{position:absolute;bottom:20vh;left:50%;transform:translate(-50%);z-index:200;background:#000000e6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid;padding:1.2vh 3vw;border-radius:40px;font-size:clamp(12px,2vmin,16px);font-weight:700;animation:fadeInUp-a33c0519 .3s ease;display:flex;align-items:center;gap:1vw;font-family:Share Tech Mono,monospace}.toast-icon[data-v-a33c0519]{font-size:clamp(14px,2.2vmin,18px)}.toast-message.info[data-v-a33c0519]{border-color:#0af;color:#0af}.toast-message.success[data-v-a33c0519]{border-color:#0f8;color:#0f8}.toast-message.error[data-v-a33c0519]{border-color:#f44;color:#f44}@keyframes scan-a33c0519{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes pulse-dot-a33c0519{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@keyframes pulse-warning-a33c0519{0%,to{opacity:1;border-color:#f44}50%{opacity:.6;border-color:#f88}}@keyframes fadeInUp-a33c0519{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.bottom-controls[data-v-a33c0519]{display:none}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-8{margin-bottom:2rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-16{height:4rem}.h-8{height:2rem}.max-h-72{max-height:18rem}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:1rem}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-white\/5>:not([hidden])~:not([hidden]){border-color:#ffffff0d}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-cyan-400{--tw-border-opacity: 1;border-color:rgb(34 211 238 / var(--tw-border-opacity, 1))}.border-cyan-500\/20{border-color:#06b6d433}.border-cyan-500\/30{border-color:#06b6d44d}.border-cyan-500\/40{border-color:#06b6d466}.border-red-500\/30{border-color:#ef44444d}.border-white\/10{border-color:#ffffff1a}.bg-black\/80{background-color:#000c}.bg-cyan-500\/10{background-color:#06b6d41a}.bg-cyan-500\/15{background-color:#06b6d426}.bg-cyan-500\/20{background-color:#06b6d433}.bg-red-500\/20{background-color:#ef444433}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:#ffffff0d}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#0a0f1e\]{--tw-gradient-from: #0a0f1e var(--tw-gradient-from-position);--tw-gradient-to: rgb(10 15 30 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-500{--tw-gradient-from: #f59e0b var(--tw-gradient-from-position);--tw-gradient-to: rgb(245 158 11 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-cyan-500{--tw-gradient-from: #06b6d4 var(--tw-gradient-from-position);--tw-gradient-to: rgb(6 182 212 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-slate-100{--tw-gradient-from: #f1f5f9 var(--tw-gradient-from-position);--tw-gradient-to: rgb(241 245 249 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#1a1f3e\]{--tw-gradient-to: rgb(26 31 62 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #1a1f3e var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-blue-50{--tw-gradient-to: rgb(239 246 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #eff6ff var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#0d1b2a\]{--tw-gradient-to: #0d1b2a var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-orange-600{--tw-gradient-to: #ea580c var(--tw-gradient-to-position)}.to-slate-100{--tw-gradient-to: #f1f5f9 var(--tw-gradient-to-position)}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.text-center{text-align:center}.font-sans{font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/20{color:#fff3}.text-white\/30{color:#ffffff4d}.text-white\/40{color:#fff6}.text-white\/50{color:#ffffff80}.text-white\/80{color:#fffc}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-slate-500::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.placeholder-slate-500::placeholder{--tw-placeholder-opacity: 1;color:rgb(100 116 139 / var(--tw-placeholder-opacity, 1))}.opacity-80{opacity:.8}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0;padding:0}input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:5px;background:#e2e8f0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;border-radius:50%;background:#3b82f6;border:3px solid #fff;box-shadow:0 2px 8px #0003;margin-top:-13px;cursor:pointer;-webkit-transition:transform .15s,box-shadow .15s;transition:transform .15s,box-shadow .15s}input[type=range]::-webkit-slider-thumb:active{transform:scale(1.15);box-shadow:0 4px 16px #3b82f680}input[type=number].pid-input-styled{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:15px;padding:8px 6px;border-radius:8px;border:1.5px solid #d1d5db;text-align:center;width:100%;background:#f9fafb}input[type=number].pid-input-styled:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f626;background:#fff}.status-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;animation:pulse-slow 2s infinite}.status-dot.connected{background:#10b981;box-shadow:0 0 8px #10b98199}.status-dot.disconnected{background:#ef4444;box-shadow:0 0 8px #ef444499;animation:none}.safe-bottom{padding-bottom:env(safe-area-inset-bottom,16px)}.btn-press:active{transform:scale(.95);transition:transform .1s}.card-glass{background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.6)}#responseMessage{transition:opacity .4s,transform .3s}html,body{overflow:hidden;height:100%;overscroll-behavior:none;-webkit-overflow-scrolling:auto}#app{height:100%;overflow:hidden}.hover\:border-cyan-500\/30:hover{border-color:#06b6d44d}.hover\:bg-cyan-500\/25:hover{background-color:#06b6d440}.hover\:shadow-lg:hover{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-amber-500\/25:hover{--tw-shadow-color: rgb(245 158 11 / .25);--tw-shadow: var(--tw-shadow-colored)}.hover\:shadow-cyan-500\/25:hover{--tw-shadow-color: rgb(6 182 212 / .25);--tw-shadow: var(--tw-shadow-colored)}.focus\:border-cyan-400:focus{--tw-border-opacity: 1;border-color:rgb(34 211 238 / var(--tw-border-opacity, 1))}.focus\:bg-slate-700:focus{--tw-bg-opacity: 1;background-color:rgb(51 65 85 / var(--tw-bg-opacity, 1))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:opacity-50:disabled{opacity:.5}
