.gesture-control[data-v-dbe119bc]{background:#1e293bcc;border-radius:1rem;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(59,130,246,.3);box-shadow:0 8px 32px #0000004d;transition:all .3s ease}.gesture-control[data-v-dbe119bc]:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0006;border-color:#3b82f680}h2[data-v-dbe119bc]{font-size:1.5rem;margin-bottom:1.5rem;color:#93c5fd;text-align:center}.gesture-status[data-v-dbe119bc]{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem;background:#0f172a99;border-radius:.75rem;border:1px solid rgba(59,130,246,.2)}.status-item[data-v-dbe119bc]{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#1e293b80;border-radius:.5rem;border-left:3px solid #3b82f6}.label[data-v-dbe119bc]{font-size:1rem;color:#94a3b8;font-weight:500}.value[data-v-dbe119bc]{font-size:1.1rem;font-weight:600;color:#f8fafc}.value.up[data-v-dbe119bc]{color:#10b981}.value.downback[data-v-dbe119bc]{color:#f59e0b}.value.left[data-v-dbe119bc]{color:#3b82f6}.value.right[data-v-dbe119bc]{color:#8b5cf6}.value.stop[data-v-dbe119bc]{color:#ef4444}.gesture-guide[data-v-dbe119bc]{margin-bottom:2rem;padding:1.5rem;background:#0f172a99;border-radius:.75rem;border:1px solid rgba(59,130,246,.2)}.gesture-guide h3[data-v-dbe119bc]{font-size:1.2rem;margin-bottom:1rem;color:#93c5fd}.gesture-guide ul[data-v-dbe119bc]{list-style:none;display:flex;flex-direction:column;gap:.75rem}.gesture-guide li[data-v-dbe119bc]{padding:.75rem;background:#1e293b80;border-radius:.5rem;border-left:3px solid #60a5fa;color:#e2e8f0;font-size:.95rem}.gesture-warning[data-v-dbe119bc]{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:#ef444433;border-radius:.75rem;border:1px solid rgba(239,68,68,.4);text-align:center}.warning-icon[data-v-dbe119bc]{font-size:2.5rem}.warning-text h4[data-v-dbe119bc]{font-size:1.2rem;margin-bottom:.5rem;color:#fca5a5}.warning-text p[data-v-dbe119bc]{font-size:1rem;color:#fecaca;line-height:1.5}.gesture-logs[data-v-dbe119bc]{margin-top:2rem;padding:1.5rem;background:#0f172a99;border-radius:.75rem;border:1px solid rgba(59,130,246,.2)}.gesture-logs h3[data-v-dbe119bc]{font-size:1.2rem;margin-bottom:1rem;color:#93c5fd}.gesture-logs .logs[data-v-dbe119bc]{font-family:Courier New,Courier,monospace;font-size:.9rem;line-height:1.5}.gesture-logs .log-entry[data-v-dbe119bc]{margin-bottom:.5rem;padding:.5rem;background:#1e293b80;border-radius:.5rem;border-left:3px solid #3b82f6}.gesture-logs .log-entry.error[data-v-dbe119bc]{border-left-color:#ef4444;color:#fca5a5}.gesture-indicator[data-v-dbe119bc]{display:flex;justify-content:center;align-items:center;margin-bottom:2rem;padding:2rem;background:#0f172a99;border-radius:1rem;border:1px solid rgba(59,130,246,.2);perspective:1000px}.indicator-container[data-v-dbe119bc]{position:relative;width:200px;height:300px;perspective:1000px}.indicator-container.landscape[data-v-dbe119bc]{width:300px;height:200px}.indicator-grid[data-v-dbe119bc]{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.grid-line[data-v-dbe119bc]{position:absolute;background:#3b82f64d;border-radius:2px}.grid-line.horizontal[data-v-dbe119bc]{top:50%;left:0;width:100%;height:2px;transform:translateY(-50%)}.grid-line.vertical[data-v-dbe119bc]{top:0;left:50%;width:2px;height:100%;transform:translate(-50%)}.indicator-phone[data-v-dbe119bc]{position:absolute;top:50%;left:50%;width:120px;height:200px;background:linear-gradient(135deg,#1e293b,#334155);border-radius:16px;border:3px solid #64748b;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0000004d;transition:transform .1s ease-out}.indicator-phone.landscape[data-v-dbe119bc]{width:200px;height:120px}.phone-screen[data-v-dbe119bc]{position:absolute;top:15px;left:10px;right:10px;bottom:15px;background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:8px;border:1px solid rgba(59,130,246,.3)}.phone-screen.landscape[data-v-dbe119bc]{top:10px;left:15px;right:15px;bottom:10px}.guide-note[data-v-dbe119bc]{background:#3b82f633;border:1px solid rgba(59,130,246,.5);border-radius:.5rem;padding:1rem;margin-bottom:1rem;text-align:center;color:#93c5fd}.guide-note strong[data-v-dbe119bc]{color:#60a5fa}.angle-details[data-v-dbe119bc]{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#0f172a99;border-radius:.75rem;border:1px solid rgba(59,130,246,.2)}.speed-details[data-v-dbe119bc]{margin-top:2rem;padding:1.5rem;background:#0f172a99;border-radius:.75rem;border:1px solid rgba(59,130,246,.2)}.speed-details h3[data-v-dbe119bc]{font-size:1.2rem;margin-bottom:1rem;color:#93c5fd}.speed-bars[data-v-dbe119bc]{display:flex;flex-direction:column;gap:1rem}.speed-bar-item[data-v-dbe119bc]{display:flex;flex-direction:column;gap:.5rem}.speed-label[data-v-dbe119bc]{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#e2e8f0}.speed-value[data-v-dbe119bc]{font-weight:600;color:#f8fafc}.speed-bar-container[data-v-dbe119bc]{width:100%;height:20px;background:#1e293bcc;border-radius:10px;overflow:hidden;border:1px solid rgba(59,130,246,.3)}.speed-bar[data-v-dbe119bc]{height:100%;border-radius:10px;transition:width .1s ease-out;position:relative;overflow:hidden}.speed-bar[data-v-dbe119bc]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:speedShine-dbe119bc 2s infinite}@keyframes speedShine-dbe119bc{0%{left:-100%}to{left:100%}}.speed-bar.speed-forward[data-v-dbe119bc]{background:linear-gradient(90deg,#10b98166,#10b981cc)}.speed-bar.speed-backward[data-v-dbe119bc]{background:linear-gradient(90deg,#f59e0b66,#f59e0bcc)}.speed-bar.speed-stop[data-v-dbe119bc]{background:linear-gradient(90deg,#ef444466,#ef4444cc);width:100%!important}.permission-section[data-v-dbe119bc]{margin-bottom:2rem}.permission-card[data-v-dbe119bc]{display:flex;align-items:center;gap:1.5rem;padding:2rem;background:linear-gradient(135deg,#3b82f633,#3b82f666);border-radius:1rem;border:1px solid rgba(59,130,246,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.permission-icon[data-v-dbe119bc]{font-size:3rem}.permission-text[data-v-dbe119bc]{flex:1}.permission-text h4[data-v-dbe119bc]{font-size:1.3rem;margin-bottom:1rem;color:#93c5fd}.permission-text p[data-v-dbe119bc]{font-size:1rem;margin-bottom:1.5rem;color:#e2e8f0;line-height:1.5}.permission-btn[data-v-dbe119bc]{padding:1rem 2rem;background:linear-gradient(135deg,#3b82f699,#3b82f6cc);border:1px solid rgba(59,130,246,.8);border-radius:.75rem;color:#f8fafc;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.permission-btn[data-v-dbe119bc]:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transform:rotate(45deg);animation:shine 3s infinite}.permission-btn[data-v-dbe119bc]:hover{background:linear-gradient(135deg,#3b82f6cc,#3b82f6);border-color:#60a5fa;box-shadow:0 0 25px #3b82f6b3;transform:translateY(-2px)}.permission-btn[data-v-dbe119bc]:active{transform:translateY(0);box-shadow:0 0 15px #3b82f680}@media(max-width:768px){.gesture-control[data-v-dbe119bc],.gesture-status[data-v-dbe119bc],.gesture-indicator[data-v-dbe119bc]{padding:1rem}.indicator-container[data-v-dbe119bc]{width:150px;height:200px}.indicator-phone[data-v-dbe119bc]{width:90px;height:150px}.phone-screen[data-v-dbe119bc]{top:10px;left:8px;right:8px;bottom:10px}.angle-details[data-v-dbe119bc]{padding:1rem}.status-item[data-v-dbe119bc]{flex-direction:column;align-items:flex-start;gap:.5rem}.gesture-guide[data-v-dbe119bc]{padding:1rem}.gesture-warning[data-v-dbe119bc]{flex-direction:column;gap:1rem;padding:1.5rem}.gesture-logs[data-v-dbe119bc]{padding:1rem}.permission-card[data-v-dbe119bc]{flex-direction:column;text-align:center;gap:1rem;padding:1.5rem}.permission-icon[data-v-dbe119bc]{font-size:2.5rem}.permission-btn[data-v-dbe119bc]{width:100%;padding:1rem}}.app[data-v-30379dfe]{min-height:100vh}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#0f172a,#1e293b);color:#f8fafc;min-height:100vh;overflow-x:hidden}#app{max-width:1200px;margin:0 auto;padding:2rem}header{text-align:center;margin-bottom:3rem;padding:2rem;background:#1e293bcc;border-radius:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(59,130,246,.3);box-shadow:0 8px 32px #0000004d}h1{font-size:2.5rem;font-weight:700;background:linear-gradient(90deg,#3b82f6,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:1rem;text-shadow:0 0 20px rgba(59,130,246,.5)}.status{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem}.status-indicator{width:12px;height:12px;border-radius:50%;animation:pulse 2s infinite}.status-indicator.connected{background:#10b981;box-shadow:0 0 10px #10b981b3}.status-indicator.disconnected{background:#ef4444;box-shadow:0 0 10px #ef4444b3}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}main{display:grid;grid-template-columns:1fr;gap:2rem;max-width:600px;margin:0 auto}.control-section{background:#1e293bcc;border-radius:1rem;padding:2rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(59,130,246,.3);box-shadow:0 8px 32px #0000004d;transition:all .3s ease}.control-section:hover{transform:translateY(-5px);box-shadow:0 12px 40px #0006;border-color:#3b82f680}h2{font-size:1.5rem;margin-bottom:1.5rem;color:#93c5fd;text-align:center}.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem}.control-btn{position:relative;width:100%;aspect-ratio:1;background:linear-gradient(135deg,#3b82f633,#3b82f666);border:1px solid rgba(59,130,246,.5);border-radius:.75rem;color:#f8fafc;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;overflow:hidden}.control-btn:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(59,130,246,.3),transparent);transform:rotate(45deg);animation:shine 3s infinite}@keyframes shine{0%{transform:translate(-100%) rotate(45deg)}to{transform:translate(100%) rotate(45deg)}}.control-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:2rem;padding:.5rem;background:#1e293b99;border-radius:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(59,130,246,.3);flex-wrap:wrap}@media(max-width:768px){.control-tabs{gap:.5rem;padding:.5rem}.tab-btn{padding:.75rem 1.5rem;font-size:.9rem}main{gap:1.5rem}.control-section{padding:1.5rem}.controls{gap:.5rem}.control-btn{font-size:.8rem}.special-controls{grid-template-columns:1fr}.log-section{padding:1.5rem}}.tab-btn{padding:1rem 2rem;background:linear-gradient(135deg,#3b82f633,#3b82f666);border:1px solid rgba(59,130,246,.5);border-radius:.75rem;color:#f8fafc;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.tab-btn:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(59,130,246,.3),transparent);transform:rotate(45deg);animation:shine 3s infinite}.tab-btn:hover{background:linear-gradient(135deg,#3b82f666,#3b82f699);border-color:#3b82f6;box-shadow:0 0 20px #3b82f680;transform:translateY(-2px)}.tab-btn.active{background:linear-gradient(135deg,#3b82f699,#3b82f6cc);border-color:#60a5fa;box-shadow:0 0 25px #3b82f6b3;transform:translateY(-2px)}.tab-btn.active:before{animation:none}.gesture-section{margin-bottom:2rem}.emotion-section{margin-top:2rem;padding:1.5rem;background:#0f172a99;border-radius:.75rem;border:1px solid rgba(59,130,246,.2)}.emotion-section h3{font-size:1.2rem;margin-bottom:1rem;color:#93c5fd}.emotion-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem}.emotion-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:linear-gradient(135deg,#8b5cf633,#8b5cf666);border:1px solid rgba(139,92,246,.5);border-radius:.75rem;color:#f8fafc;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.emotion-btn:hover{background:linear-gradient(135deg,#8b5cf666,#8b5cf699);border-color:#8b5cf6;box-shadow:0 0 20px #8b5cf680;transform:translateY(-2px)}.emotion-btn:active{background:linear-gradient(135deg,#8b5cf699,#8b5cf6cc);border-color:#a78bfa;box-shadow:0 0 25px #8b5cf6b3;transform:translateY(0)}.emotion-icon{font-size:2rem}.emotion-text{font-size:.85rem;color:#e2e8f0}.debug-section{margin-top:2rem;padding:1.5rem;background:#0f172a99;border-radius:.75rem;border:1px solid rgba(59,130,246,.2)}.debug-section h3{font-size:1.2rem;margin-bottom:1rem;color:#93c5fd}.debug-buttons{display:flex;gap:1rem;flex-wrap:wrap}.debug-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b5cf633,#8b5cf666);border:1px solid rgba(139,92,246,.5);border-radius:.75rem;color:#f8fafc;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.debug-btn:hover{background:linear-gradient(135deg,#8b5cf666,#8b5cf699);border-color:#8b5cf6;box-shadow:0 0 20px #8b5cf680;transform:translateY(-2px)}.debug-btn:active{background:linear-gradient(135deg,#8b5cf699,#8b5cf6cc);border-color:#a78bfa;box-shadow:0 0 25px #8b5cf6b3;transform:translateY(0)}.control-btn:hover{background:linear-gradient(135deg,#3b82f666,#3b82f699);border-color:#3b82f6;box-shadow:0 0 20px #3b82f680;transform:scale(1.05)}.control-btn:active,.control-btn.active{background:linear-gradient(135deg,#3b82f699,#3b82f6cc);border-color:#60a5fa;box-shadow:0 0 25px #3b82f6b3;transform:scale(.95)}.control-btn:nth-child(1){grid-column:2;grid-row:1}.control-btn:nth-child(2){grid-column:1;grid-row:2}.control-btn:nth-child(3){grid-column:2;grid-row:2}.control-btn:nth-child(4){grid-column:3;grid-row:2}.control-btn:nth-child(5){grid-column:2;grid-row:3}.special-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.special-btn{padding:1rem;background:linear-gradient(135deg,#8b5cf633,#8b5cf666);border:1px solid rgba(139,92,246,.5);border-radius:.75rem;color:#f8fafc;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.special-btn:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(139,92,246,.3),transparent);transform:rotate(45deg);animation:shine 3s infinite}.special-btn:hover{background:linear-gradient(135deg,#8b5cf666,#8b5cf699);border-color:#8b5cf6;box-shadow:0 0 20px #8b5cf680;transform:translateY(-3px)}.special-btn:active{background:linear-gradient(135deg,#8b5cf699,#8b5cf6cc);border-color:#a78bfa;box-shadow:0 0 25px #8b5cf6b3;transform:translateY(0)}.log-section{background:#0f172ae6;border-radius:1rem;padding:1.5rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(59,130,246,.2);max-height:200px;overflow-y:auto}.log-section h3{font-size:1.2rem;margin-bottom:1rem;color:#93c5fd}.logs{font-family:Courier New,Courier,monospace;font-size:.9rem;line-height:1.5}.log-entry{margin-bottom:.5rem;padding:.5rem;background:#1e293b80;border-radius:.5rem;border-left:3px solid #3b82f6}.log-entry.error{border-left-color:#ef4444;color:#fca5a5}@media(max-width:768px){#app{padding:1rem}h1{font-size:2rem}.controls{gap:.75rem}.control-btn{font-size:.9rem}.special-controls{grid-template-columns:1fr}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1e293b80;border-radius:4px}::-webkit-scrollbar-thumb{background:#3b82f680;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#3b82f6cc}
