.dashboard[data-v-0bd7d9e8]{max-width:640px;margin:0 auto;padding:2rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.header[data-v-0bd7d9e8]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.header h1[data-v-0bd7d9e8]{font-size:1.5rem;margin:0}.status[data-v-0bd7d9e8]{font-size:.8rem;padding:.2rem .6rem;border-radius:4px}.online[data-v-0bd7d9e8]{background:#22c55e;color:#fff}.offline[data-v-0bd7d9e8]{background:#64748b;color:#fff}.card[data-v-0bd7d9e8]{background:#f5f5f5;border-radius:8px;padding:1.25rem;margin-bottom:1rem}.card h2[data-v-0bd7d9e8]{font-size:1rem;margin:0 0 .75rem}.code-box[data-v-0bd7d9e8]{display:flex;gap:.5rem;align-items:center}.code-box code[data-v-0bd7d9e8]{font-size:1.8rem;letter-spacing:.3em;background:#fff;padding:.25rem .75rem;border-radius:4px;border:1px solid #ddd}.btn-copy[data-v-0bd7d9e8]{padding:.4rem .8rem;background:#4f46e5;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-copy[data-v-0bd7d9e8]:disabled{background:#cbd5e1;cursor:not-allowed}.hint[data-v-0bd7d9e8]{font-size:.8rem;color:#666;margin-top:.5rem}.label-sm[data-v-0bd7d9e8]{display:block;font-size:.8rem;color:#666;margin-bottom:.3rem}.input-server[data-v-0bd7d9e8]{width:100%;padding:.5rem .75rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;box-sizing:border-box}.device-list[data-v-0bd7d9e8]{list-style:none;padding:0;margin:0}.device-list li[data-v-0bd7d9e8]{padding:.4rem 0;border-bottom:1px solid #e0e0e0}.empty[data-v-0bd7d9e8]{color:#999;font-size:.9rem}.btn-primary[data-v-0bd7d9e8]{width:100%;padding:.75rem;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer}.btn-primary[data-v-0bd7d9e8]:disabled{background:#a5b4fc;cursor:not-allowed}.btn-primary[data-v-0bd7d9e8]:hover:not(:disabled){background:#4338ca}.links[data-v-0bd7d9e8]{margin-top:1rem;text-align:center}.links a[data-v-0bd7d9e8]{color:#4f46e5;font-size:.9rem;text-decoration:none}.viewer[data-v-f2e437b7]{position:relative;width:100vw;height:100vh;background:#000;overflow:hidden;display:flex;align-items:center;justify-content:center}.remote-canvas[data-v-f2e437b7]{display:block;width:100%;height:100%;cursor:crosshair;object-fit:contain}.toolbar[data-v-f2e437b7]{position:absolute;bottom:0;left:0;right:0;display:flex;gap:.75rem;padding:.5rem 1rem;background:#0009;color:#fff;font-size:.8rem;font-family:monospace}.badge[data-v-f2e437b7]{padding:.15rem .5rem;border-radius:3px}.status-ok[data-v-f2e437b7]{background:#22c55e;color:#fff}.status-err[data-v-f2e437b7]{background:#ef4444;color:#fff}.badge-relay[data-v-f2e437b7]{background:#f59e0b;color:#000;animation:pulse-f2e437b7 1.5s ease-in-out infinite}.badge-wait[data-v-f2e437b7]{background:#3b82f6;color:#fff}@keyframes pulse-f2e437b7{0%,to{opacity:1}50%{opacity:.6}}.coords[data-v-f2e437b7]{background:transparent;color:#ccc}.mobile-pad[data-v-35268a37]{width:100vw;height:100vh;background:#0f172a;color:#e2e8f0;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden;user-select:none;-webkit-user-select:none}.connect-form[data-v-35268a37]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;gap:1rem}.connect-form h1[data-v-35268a37]{font-size:1.8rem;margin-bottom:1rem}.code-input[data-v-35268a37]{width:200px;padding:.75rem 1rem;font-size:1.5rem;text-align:center;letter-spacing:.5em;border:2px solid #334155;border-radius:8px;background:#1e293b;color:#e2e8f0;outline:none}.code-input[data-v-35268a37]:focus{border-color:#4f46e5}.server-input[data-v-35268a37]{width:90%;max-width:320px;padding:.6rem 1rem;font-size:.85rem;border:1px solid #334155;border-radius:6px;background:#1e293b;color:#94a3b8;outline:none;text-align:center}.btn-connect[data-v-35268a37]{padding:.75rem 3rem;background:#4f46e5;color:#fff;border:none;border-radius:8px;font-size:1.1rem;cursor:pointer}.btn-connect[data-v-35268a37]:active{background:#4338ca}.error[data-v-35268a37]{color:#ef4444;font-size:.85rem}.control-area[data-v-35268a37]{display:flex;flex-direction:column;height:100%}.status-bar[data-v-35268a37]{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background:#1e293b;font-size:.75rem;font-family:monospace}.room-badge[data-v-35268a37]{color:#22c55e}.relay-badge[data-v-35268a37]{color:#f59e0b;animation:pulse-35268a37 1.5s ease-in-out infinite}.wait-badge[data-v-35268a37]{color:#3b82f6}.direct-badge[data-v-35268a37]{color:#22c55e}@keyframes pulse-35268a37{0%,to{opacity:1}50%{opacity:.6}}.preview-bar[data-v-35268a37]{position:relative;height:22vh;min-height:120px;background:#000;border-bottom:2px solid #1e293b}.preview-canvas[data-v-35268a37]{width:100%;height:100%;object-fit:contain}.pad-row[data-v-35268a37]{flex:1;display:flex;align-items:center;justify-content:space-around;padding:.5rem}.joystick-zone[data-v-35268a37]{width:160px;height:160px;position:relative;touch-action:none}.btn-group[data-v-35268a37]{display:flex;flex-direction:column;gap:1rem}.touch-btn[data-v-35268a37]{width:90px;height:90px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;touch-action:manipulation}.touch-btn[data-v-35268a37]:active{transform:scale(.92)}.btn-left[data-v-35268a37]{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f666}.btn-right[data-v-35268a37]{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef444466}
